1. C 程序开发快速入门
- 需求说明
要求开发一个hello.c
程序,可以输出 “hello,world” - 开发步骤
-
创 建 一 个 空 项 目 (VC++2010 是 以 项 目 的 方 式 管 理 源 代 码 ) , 如 下 图,项 目 存 放 路 径 :
F:\C study\C\01_hello
-
编写到文件名为
hello.c
文件中。
//引入头文件
#include <stdio.h>
//main函数,是程序执行的入口
void main(){
//1.printf是一个函数,需要一个头文件才能使用
//2.printf是在<stdio.h>,需要引入该头文件
printf("Hello World!");
//让窗口停留
getchar();
}
- 点击 开始执行(不调试) 按钮运行程序 (这个按钮需要配置)
- 添加完成后就会发现多了一个按钮,或者也可以按
Ctrl+F5
(开始执行不调试) - 执行上面的
hell.c
代码后,发现有个黑色的窗口一闪而过,没有停留,所以要配置下才能使窗口停留:
//让窗口停留
getchar();
2. C 程序运行机制流程
C 程序运行机制(过程)简述
-
编辑:比如编写我们的
hello.c
文件, 就是 源代码. -
编译:将
hello.c
程序 翻译成 目标文件(hello.obj
) // 在计算机底层执行 -
链接:将目标文件
hello.obj + 库文件
生成可执行文件(01_hello.exe
) //在计算机底层执行 -
运行:执行
.exe
文件, 得到运行结果
C程序的运行机制流程
- 编译程序
cl.exe
和链接程序link.exe
在我们安装vs 2010的bin
目录
- C 程序执行流程图解分析
3. 编译、链接和运行详解
- 什么是编译?
- 有了 C 源文件,通过编译器将其编译成
obj
文件(目标文件)。 - 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个
hello.obj
文件,该文件称为目标文件。
- 什么是链接?
- 有了目标文件(
.obj
文件),通过链接程序将其和运行需要的 c 库文件链接成exe
文件(可执行文件)。 - 如果程序没有错误,没有任何提示,但在 Debug 目录下会出现一个
项目名.exe 文件
,该文件称为可执行文件。 - 为什么需要链接库文件呢? 因为我们的 C 程序中会使用 C 程序库的内容,比如
<stdio.h> <stdlib.h>
中的函数printf() system()
等等, 这些函数不是程序员自己写的,而是 C 程序库中提供的,因此需要链接。 - 你会发现链接后,生成的
.exe
文件,比obj
文件大了很多。
- 源文件
hello.c
只有 1KB
- 编译后的
hello.obj
有 4KB - 运行的
hello.exe
有 27KB - 什么是运行?
- 有了可执行的
exe
文件, 也称为可执行程序 (二进制文件) - 在控制台下可以直接运行
exe
文件
4. C 程序开发注意事项
- 对修改后的
hello.c
源文件需要重新编译链接,生成新的exe
文件后,再执行,才能生效。
5. 如果想只生成目标 exe 文件,不想执行结果
-
如:
hello.c
程序代码修改后只想生成.exe
文件,不要执行结果 -
可以这样做:打开 VC++ 2010 ,生成–> 重新生成解决方案(或
Ctrl+Alt+F7
) -
也可以直接生成解决方案(
F7
) -
代码如下:
-
可以看到生成后的
exe
文件就不会弹出来执行了 -
在文件夹中双击打开
exe
文件