【C语言】C 程序开发快速入门

举报
兮动人 发表于 2021/08/23 10:25:51 2021/08/23
【摘要】 【C语言】C 程序开发快速入门

1. C 程序开发快速入门

  • 需求说明
    要求开发一个 hello.c 程序,可以输出 “hello,world”
  • 开发步骤
  1. 创 建 一 个 空 项 目 (VC++2010 是 以 项 目 的 方 式 管 理 源 代 码 ) , 如 下 图,项 目 存 放 路 径 :F:\C study\C\01_hello
    在这里插入图片描述
    在这里插入图片描述

  2. 编写到文件名为 hello.c 文件中。

//引入头文件
#include <stdio.h>
//main函数,是程序执行的入口
void main(){
	//1.printf是一个函数,需要一个头文件才能使用
	//2.printf是在<stdio.h>,需要引入该头文件
	printf("Hello World!");
	//让窗口停留
	getchar();
}
  1. 点击 开始执行(不调试) 按钮运行程序 (这个按钮需要配置)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 添加完成后就会发现多了一个按钮,或者也可以按 Ctrl+F5(开始执行不调试)
    在这里插入图片描述
  • 执行上面的hell.c代码后,发现有个黑色的窗口一闪而过,没有停留,所以要配置下才能使窗口停留:
//让窗口停留
getchar();

在这里插入图片描述

2. C 程序运行机制流程

C 程序运行机制(过程)简述

  1. 编辑:比如编写我们的 hello.c 文件, 就是 源代码.
    在这里插入图片描述

  2. 编译:将 hello.c 程序 翻译成 目标文件(hello.obj) // 在计算机底层执行
    在这里插入图片描述

  3. 链接:将目标文件 hello.obj + 库文件 生成可执行文件 (01_hello.exe) //在计算机底层执行
    在这里插入图片描述

  4. 运行:执行 .exe 文件, 得到运行结果
    在这里插入图片描述

C程序的运行机制流程

在这里插入图片描述

  • 编译程序cl.exe和链接程序link.exe在我们安装vs 2010的bin目录

在这里插入图片描述

  • C 程序执行流程图解分析

在这里插入图片描述

3. 编译、链接和运行详解

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

在这里插入图片描述

  • 编译后的 hello.obj 有 4KB
    在这里插入图片描述
  • 运行的 hello.exe 有 27KB
    在这里插入图片描述
  • 什么是运行?
  1. 有了可执行的 exe 文件, 也称为可执行程序 (二进制文件)
  2. 在控制台下可以直接运行 exe 文件

4. C 程序开发注意事项

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

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

  • 如:hello.c 程序代码修改后只想生成 .exe 文件,不要执行结果
    在这里插入图片描述

  • 可以这样做:打开 VC++ 2010 ,生成–> 重新生成解决方案(或 Ctrl+Alt+F7
    在这里插入图片描述

  • 也可以直接生成解决方案(F7
    在这里插入图片描述

  • 代码如下:
    在这里插入图片描述

  • 可以看到生成后的 exe 文件就不会弹出来执行了

  • 在文件夹中双击打开 exe 文件
    在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。