【C语言】第一回(源(.c)文件怎么生成可执程序(.exe)文件)

简介: 【C语言】第一回(源(.c)文件怎么生成可执程序(.exe)文件)

一、何为C语言?

1.C语言是什么?

我们知道人和人交流使用的是自然语言,如:汉语、英语。那么人和计算机是怎么交流的呢?使用计算机语言。目前已知有上千种计算机语言,人类是通过计算机语言写的程序,然后给计算机下达指令,让计算机进行工作。

C语言就是众多计算机语言中的一种,当然C++/Java/Go/Python都是计算机语言。


2.C语言的历史和辉煌

C语言最初是作为Unix系统的开发工具而发明的。

二、编译器的选择VS2022

3. 1 编译和链接

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译
翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。C语⾔代码是放在 .c 为后缀的⽂件中的,要得到最终运⾏的可执⾏程序,中间要经过编译链接2个过程。

⼀个⼯程⼀般都会有多个源⽂件组成,如下图所⽰,演⽰了源程序经过编译器和链接器处理的过程。

注:

  1. 每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)
  2. 多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

这就是,在Windows电脑上C语⾔程序⽣成的exe可执⾏⽂件

3.2 编译器的对⽐

C语⾔是⼀⻔编译型的计算机语⾔,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令。

那我们常⻅的C语⾔编译器都有哪些呢?

⽐如:msvc、clang、gcc 就是⼀些常⻅的编译器,当然也有⼀些集成开发环境如:VS2022、XCode、CodeBlocks、DevC++、Clion等。


集成开发环境(IDE)⽤于提供程序开发环境的应⽤程序,⼀般包括代码编辑器、 编译器 、 调试器

和 图形⽤⼾界⾯ 等⼯具。 集成了代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套。

1

VS2022 集成了MSVC(安装报包较⼤⼀些,安装简单,⽆需多余配置,使⽤起来⾮常⽅便)

•XCode 集成了clang(苹果电脑上的开发⼯具)

•CodeBlocks 集成了gcc(这个⼯具⽐较⼩众,需要配置环境,不太推荐)

•DevC++ 集成了gcc(⼩巧,但是⼯具过于简单,对于代码⻛格的养成不好,⼀些竞赛使⽤)

•Clion 是默认使⽤CMake,编译器是可以配置的(⼯具是收费,所以暂时推荐⼤家使⽤)

整体考虑,推荐⼤家安装VS2022的社区版本学习,免费,使⽤⽅便,⼯作中常⻅。


VS2022的安装教程:https://www.bilibili.com/video/BV11R4y1s7jz/3.3 VS2022 的优缺点**

优点

•VS2022 是⼀个主流的集成开发环境,企业中使⽤较为普遍

•VS2022 包含了:编辑器+编译器+调试器,功能强⼤

• 直接安装即可使⽤,基本不⽤额外配置环境,上⼿容易

• 默认界⾯是中⽂的,初学者友好

缺点:

• 功能丰富,安装包⼤,占⽤空间多。

四、VS项⽬和源⽂件、头⽂件介绍

在VS上写代码,我们是需要创建项⽬的,直接新建项⽬就可以了。

在项⽬中就可以添加源⽂件和头⽂件。

C语⾔把 .c 为后缀的⽂件称为源⽂件,把 .h 为后缀的⽂件称为头⽂件

五、 第⼀个C语⾔程序

#include <stdio.h>
int main()
{
  printf("hello C\n");
  return 0;
}

这⾥演⽰VS2022中创建项⽬和编写C代码的过程,并运⾏出结果。

在VS2022上运⾏代码的快捷键: Ctrl+f5

相关文章
|
1月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
|
19天前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
19天前
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
1月前
|
C语言
【C语言】探索文件读写函数的全貌(三)
【C语言】探索文件读写函数的全貌
|
1月前
|
存储 C语言
【C语言】探索文件读写函数的全貌(二)
【C语言】探索文件读写函数的全貌
|
30天前
|
存储 文件存储 C语言
深入C语言:文件操作实现局外影响程序
深入C语言:文件操作实现局外影响程序
|
2月前
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
88 10
|
1月前
|
C语言
【C语言】探索文件读写函数的全貌(一)
【C语言】探索文件读写函数的全貌
|
1月前
|
存储 文件存储 C语言
【C语言】深入了解文件:简明指南
【C语言】深入了解文件:简明指南
|
2月前
|
Linux C语言
C语言 文件IO (系统调用)
本文介绍了Linux系统调用中的文件I/O操作,包括文件描述符、`open`、`read`、`write`、`lseek`、`close`、`dup`、`dup2`等函数,以及如何获取文件属性信息(`stat`)、用户信息(`getpwuid`)和组信息(`getgrgid`)。此外还介绍了目录操作函数如`opendir`、`readdir`、`rewinddir`和`closedir`,并提供了相关示例代码。系统调用直接与内核交互,没有缓冲机制,效率相对较低,但实时性更高。