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

December 09, 2023
测试
测试
测试
测试
1 分钟阅读

1. 什么是编译

1) 有了 C 源文件,通过编译器将其编译成 obj 文件(目标文件)

2) 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个 Hello.obj 文件,该文件称为目标文件

2. 什么是链接

1) 有了目标文件(.obj 文件),通过链接程序将其和运行需要的 c 库文件链接 成 exe 文件(可执行文件)。

2) 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个项目名.exe 文件,该文件称为可执行文件。

3) 为什么需要链接库文件呢? 因为我们的 C 程序中会使用 C 程序库的内容,比如 <stdio.h> <stdlib.h> 中的函数printf() system()等等, 这些函数不是程序员自己写的,而是 C 程序库中提供的,因此需要链接

4) 你会发现链接后,生成的.exe 文件,比 obj 文件了很多

3. 什么是运行

1) 有了可执行的 exe 文件, 也称为可执行程序 (二进制文件)

2) 在控制台下可以直接运行 exe 文件

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

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

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

  • 如:hello.c 程序代码修改后只想生成 .exe 文件,不要执行结果
    在这里插入图片描述
    在这里插入图片描述
  • 可以这样做:打开 VC++ 2010 ,调试--> 生成解决方案
    在这里插入图片描述
    在这里插入图片描述
  • 这样就不会弹出执行.exe 文件
  • 而当打开 .exe 文件就是生成后的结果6. 编译、链接和运行的流程
    在这里插入图片描述
    在这里插入图片描述
  • hello.c 的源文件只有 1KB
在这里插入图片描述
在这里插入图片描述
  • 编译后生成的 目标文件 只有 4KB
    在这里插入图片描述
    在这里插入图片描述
  • 当链接生成 exe 文件变成了 27KB,说明在链接的过程中把一些库函数资源一起链接到 exe 文件中,所以 exe 文件变大了
    在这里插入图片描述
    在这里插入图片描述
    7. C 程序开发注意事项21) C 程序的主体结构说明
	#include ... 
	void main() { // {} 包括内容, 称为函数体
	语句 1;
	语句 2;
	}

2) C 程序源文件以“c”为扩展名。

3) C 程序的执行入口是 main()函数

4) C 语言严格区分大小写。

5) C 程序由一条条语句构成,每个语句以“;”结束

6) 大括号都是成对出现的,缺一不可

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多