评论

收藏

[C++] C语言编译、链接和运行详解

编程语言 编程语言 发布于:2021-07-01 14:05 | 阅读数:525 | 评论:0

  
  文章目录



    • 1. 什么是编译
    • 2. 什么是链接
    • 3. 什么是运行
    • 4. C 程序开发注意事项1
    • 5. 如果想只生成目标 exe 文件,不想执行结果
    • 6. 编译、链接和运行的流程
    • 7. C 程序开发注意事项2


  
1. 什么是编译

  • 有了 C 源文件,通过编译器将其编译成 obj 文件(目标文件)。
  • 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个 Hello.obj 文件,该文件称为目标文件

2. 什么是链接

  • 有了目标文件(.obj 文件),通过链接程序将其和运行需要的 c 库文件链接 成 exe 文件(可执行文件)。
  • 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个项目名.exe 文件,该文件称为可执行文件。
  • 为什么需要链接库文件呢? 因为我们的 C 程序中会使用 C 程序库的内容,比如 <stdio.h> <stdlib.h> 中的函数printf() system()等等, 这些函数不是程序员自己写的,而是 C 程序库中提供的,因此需要链接
  • 你会发现链接后,生成的.exe 文件,比 obj 文件大了很多

3. 什么是运行

  • 有了可执行的 exe 文件, 也称为可执行程序 (二进制文件)
  • 在控制台下可以直接运行 exe 文件

4. C 程序开发注意事项1

  • 对修改后的 hello.c 源文件需要重新编译链接,生成新的 exe 文件后,再执行,才能生效。

5. 如果想只生成目标 exe 文件,不想执行结果

  • 如:hello.c 程序代码修改后只想生成 .exe 文件,不要执行结果
    DSC0000.png
  • 可以这样做:打开 VC++ 2010 ,调试–> 生成解决方案
    DSC0001.png
  • 这样就不会弹出执行.exe 文件
  • 而当打开 .exe 文件就是生成后的结果

6. 编译、链接和运行的流程
DSC0002.png


  • hello.c 的源文件只有 1KB
DSC0003.png


  •   编译后生成的 目标文件 只有 4KB
    DSC0004.png
  •   当链接生成 exe 文件变成了 27KB,说明在链接的过程中把一些库函数资源一起链接到 exe 文件中,所以 exe 文件变大了
    DSC0005.png

7. C 程序开发注意事项2

  • C 程序的主体结构说明
#include ... 
void main() { // {} 包括内容, 称为函数体
语句 1;
语句 2;
}

  • C 程序源文件以“c”为扩展名。
  • C 程序的执行入口是 main()函数
  • C 语言严格区分大小写。
  • C 程序由一条条语句构成,每个语句以“;”结束
  • 大括号都是成对出现的,缺一不可

  

  
关注下面的标签,发现更多相似文章