C语言编译运行
在程序运行模式章节中,说到程序员编写的代码并不能直接运行,在计算机的底层CPU中执行的是各种指令,代码必须经过处理后,变成CPU所能识别的指令,才能运行。代码在经过处理的过程比较繁杂,其中一个重要的部分就是编译。C语言代码变为可执行文件的过程比较复杂,可参考:C语言代码变为可执行文件的完整过程
编译器
我们编写的代码是安装人类的思考逻辑来写的,比如数字的加减运算,人类的思考逻辑是使用十进制的方式运算的,而计算机中只有二进制数0和1,所有的人类所理解的数据都是转换为0和1的组合来保存在计算机中。可参考计算机的数据存储模型
编译的作用:
- 利用编译程序从源语言编写的源程序产生目标程序的过程。
- 用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译的过程是使用相关的程序软件来完成的。网络上有不少C语言编译器软件,让人很难抉择。那么,C语言编译器哪个好?这里整理了几款好用的C语言编译器推荐给大家。
一、Dev-C++
Dev-C++ 是一个C++ 开发工具。它包括多页面窗口、工程编辑器,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。它也提供高亮度语法显示的,以减少编辑错误。Dev-C++是一个Windows下的C和C++程序的集成开发环境。是学习C或C++的首选开发工具。这是一款集成开发工具,其内部是使用的MinGW来编译C语言程序的。
二、mingw
MinGW是Minimalist GNU onWindows的简称,是指只用自由软件来生成纯粹的Win32可执行文件的编译环境。这是一款无编辑器界面的软件,只能在CMD命令行中执行它的编译命令,对于初学者来说,使用命令行手动编译程序是必须要掌握的内容。所以,这里推荐使用MinGW来编译C语言文件,结合Dev-C++的编辑器界面,可以说是一套最好的C语言初学者套件。
三、WIN-TC
初学C的一款比较好的软件,也是学习C的一款比较官方标准的软件
WIN-TC是一个turbo C2 WINDOWS平台开发工具,最大特点是支持中文界面,支持鼠标操作,程序段复制,为初学c语言、对高等编程环境不熟悉的同志们非常有帮助。很多学校把这个软件当做C语言教学工具,但是该软件只能运行单个C语言文件,不能建立一个C语言项目,并且没有代码提示。熟悉C语言的人基本都不会使用这个软件来编写程序。
四、Microsoft Visual stdudio
Visual Studio(VS) 是一套非常完备的工具和服务,这款软件真的很强大,不管你用来开发网页、客户端、Android、IOS等都可以很好的应付。毕竟号称宇宙最强的IDE,VS可不是吹牛的。VS的功能强大也决定了其安装包的体量,完整功能的VS2015安装下来可能要占用了100GB空间,简直是恐怖。
MinGW安装
本课程中是用MinGW来编译C语言程序,这里介绍一下MinGW的安装过程。
在线安装
1.下载安装程序 下载地址
image2.MinGW安装
运行
image安装到你想安装的目录下,点击Continue
image3.安装完成后,桌面上有一个:
image4、这个是安装器,需要在线下载安装内容安装,才会完成安装
选择需要安装的组件,根据需要选择你的组件。右键选择“Mark for Installation”,之后选择"Installation -> Apply Changes”。等待下载完成。
image5、添加环境变量
把安装根目录下的bin目录添加到系统环境变量,请看下面的环境变量配置。
离线安装
1.下载MinGW离线安装包
下载地址:点击进入下载
2.解压文件
[图片上传失败...(image-631794-1542505561918)]
3.添加环境变量
把安装根目录下的bin目录添加到系统环境变量,请看下面的环境变量配置。
环境变量
把MinGW目录下的bin目录添加到系统环境变量path中。环境变量的配置方法可以参考环境变量的配置
环境变量配置好后,输入gcc -v会打印gcc编译器的版本号。
这里写图片描述
编译运行
编译的作用使用把C语言代码转换为可执行文件,使用cc命令可以把C语言代码文件(.c后缀的文件)转换为可执行文件(.exe后缀的文件)。用文本编辑器输入以下代码保存为a.c文件,用来测试编译和运行。
//a.c文件
#include <stdio.h>
int main(){
printf("你好,朋友");
getchar();
}
在命令行中cd到这个文件的目录下,使用cc编译该文件
这里写图片描述编译生成一个a.exe文件,输入a(或a.exe)执行这个文件
这里写图片描述可以看到打印了“你好,朋友”,这就是用命令行进行编译运行的过程。初学者要掌握使用这种手段编译文件的方式。不要急于使用集成开发工具来编译。
网友评论