| 关键词: 函数 程序 Studio Visual 源文件 include 命令 文件 编译 运行 |
C语言发展简史
1972年,贝尔实验室的Dennis Ritchie和Ken Thompson在开发Unix操作系统时设计了C语言,该操作系统的90%以上的代码都是由C语言实现,后期的Linux,macOS,Android,IOS都是基于Unix发展而来的。
1987年Dennis Ritchie和Brian Kernighan编写了The C Programming Language第一版是公认的C标准实现,而没有定义C库。 而后期ANSI/ISO先后于1990年、1999年和2011年发布了C90标准、C99标准和C11标准,该标准定义了C语言和C标准库。 C语言特性C语言作为面向过程的高级程序设计语言,能够轻松的实现自顶向下的规划、结构化编程和模块化设计,这样使得程序结构更加简洁,可扩展性强以及更加容易维护。 而且C语言有着高效(执行速度快)、功能强大(嵌套汇编)以及可移植性(标准库可移植)、功能强大等优点,而且也存在着对系统平台库依赖严重,由于编程风格自由,经验不足也会容易导致出错,编写代码实现周期长,同样的代码在不同的操作系统(或者编译器)下可能会有不同的表现等缺点。 C语言应用场景C语言偏向硬件驱动、操作系统、底层应用(数据库、编译器)、嵌入式应用开发、游戏引擎等应用场景。 硬件驱动的绝大部分实现是由C语言和汇编语言实现的。 主流操作系统(Unix,Linux,macOS,Windows,Android,iOS)的底层实现都是由C语言和部分汇编实现的。 C++,Java,Python,Swift的编译器或者解释器都是由C语言实现的。 Git,Nginx,Redis,MySQL,Apache,Linux Kernel都是使用C语言实现的,而且都是开放源代码的,大部分代码可以在GitHub中获取到,可以通过阅读源码提升自己的设计和编码能力。 使用Visual Studio Code+gcc 开发C程序Visual Studio Code下载与安装HelloWorld是学习一门编程语言的入门程序,如果你能独立编写并运行HelloWorld,那么就意味着迈入了编程的大门了。 Visual Studio Code是微软推出的一款开源、跨平台(Windows,Ubuntu,macOS)的编辑器,这里使用它来编写C语言的源代码,当然除了编写C代码之外,还可以用来编写C++,Java,Python,Go,JavaScript,PHP程序等等。 为什么首先要使用Visual Studio Code来编写第一个C程序呢,因为Visual Studio Code只是一个编辑器,用于编写源码,并不提供编译或者解释运行程序的功能。 通过它来对比之前介绍的IDE,体验下使用IDE开发程序带来的好处,也有利于理解IDE背后的相关机制。 在使用Visual Studio Code之前首先去官网下载 ![]() 然后傻瓜一键式安装,安装完成以后启动Visual Studio Code会看到启动界面。 ![]() 关于Visual Studio Code的详细使用可以参考官方提供的文档。 使用Visual Studio编辑源文件1.在系统的D盘下创建目录vs_code\c用于存放C语言的源程序(即C代码) 2.在Visual Studio Code中将D:\vs_code\c目录添加到工作区的文件夹 ![]() 选择D:\vs_code\c文件夹作为Visual Studio开发C程序的工作区 ![]() 3.在工作区D:\vs_code\c目录下创建源文件helloworld.c,C语言的源文件都是以.c结尾的,并编写以下内容 #include <stdio.h> ![]() helloworld.c gcc安装与配置当源文件编辑好完成以后,需要安装和配置gcc,因为Visual Studio Code并没有提供编译C程序的功能。 如果你之前已经下载安装过Qt,那么恭喜不用额外安装gcc,因为Qt已经集成了编译器。 只需要将gcc在Qt的bin目录: C:\Qt\Qt5.13.0\Tools\mingw730_64\bin 添加至PATH环境变量即可。 ![]() 当在终端上执行gcc命令时系统会从该目录寻找gcc对应的可执行程序gcc.exe。 ![]() 当gcc的PATH环境变量配置成功之后,便可以打开命令提示符(即终端),输入gcc -v便可查看gcc版本信息 ![]()
![]() 然后在终端上运行a.exe,程序会将字符串Windows10 1903 & Visual Studio Code Hello World With C输出到终端上。 ![]() 如果想要改变编译生成的可执行文件名称,使用gcc时可以使用-o选项实现 ![]() 理解gcc编译过程刚才在使用gcc编译helloworld时一次性编译链接生成了可执行文件(例如helloworld.exe),而实际上gcc在编译程序时要经历预处理、编译、汇编、链接四个步骤,每个步骤gcc都提供了对应的选项(链接除外),并且每个步骤生成的文件后缀名也是不一样的。 这里编写源文件gcc_compile_option.c,用于测试gcc的各个编译选项,如果想要查看gcc命令的所有选项,可以使用gcc --help查看所有选项及其说明 ![]() #include <stdio.h>
预处理主要是头文件包含、宏替换以及条件编译,预处理阶段不会做语法检查。 预处理生成的文件后缀名通常是.i,而对应的gcc选项是-E。 gcc预处理命令案例 gcc -E gcc_compile_option.c -o gcc_compile_option.i 这里预编译会将头文件stdio.h的内容复制到gcc_compile_option.i头文件中,并且将使用#define PI 3.141592的宏进行替换,因此最后运行程序时会看到终端上输出PI =3.141592
编译是将预处理完成的文件编译成汇编文件。 编译生成的文件后缀名通常是.s,而对应的gcc选项是-S。 gcc编译案例 gcc -S gcc_compile_option.i -o gcc_compile_option.s
汇编是将汇编文件生成对应的二进制文件。 汇编生成的文件后缀名通常是.o,而对应的gcc选项是-c。 gcc汇编案例 gcc -c gcc_compile_option.c -o gcc_compile_option.o
将各个二进制文件加上库函数、启动代码链接生成可执行文件。 链接没有特定的gcc选项,windows上的可执行文件名为.exe,linux上可执行文件后缀名为.out。 gcc 链接案例 gcc gcc_compile_option.o -o gcc_compile_option.exe ![]() gcc 预处理、编译、汇编、链接、运行 C语言集成开发环境搭建目前主流的操作系统(Windows,Linux,macOS)都有完善的C语言集成开发环境,用于编辑、编译、调试、打包部署C程序。 Windows作为世界上最流行的桌面操作系统,当前最新版本为Windows10 1903,VisualStudio作为Windows上最强大的集成开发环境,可以开发Windows软件,游戏,Web应用等等,最新版本为VisualStudio2019 16.2.2。 ![]() Visual Studio 2019启动界面 Ubuntu作为最受欢迎的桌面版Linux系统之一,推荐采用跨平台的集成开发环境Qt来编写C/C程序。 ![]() QT Creator macOS平台推荐使用XCode来编写C/C程序,而且XCode在macOS系统上是自带的,无需额外安装。 ![]() XCode 除此以外还有些跨平台的C/C++ 开发工具,例如来自Jetbrains公司的CLion也可以用来编写C/C++程序。 ![]() CLion 关于IDE的安装以及使用,它们的官网都提供了详细的教程,同学们可以自行去查阅。 C语言学习过程中会使用Windows10 1903+Visual Studio 2019作为主力开发环境,如果没有特别的说明,默认的环境就是Windows10 1903和Visual Studio 2019。 使用Visual Studio 2019开发C程序
![]() 2.选择基于C++的空项目 ![]() 3.配置新项目 设置项目名称为c-core-foundational, 项目路径位于d:workspace\c\visualstudio2019, 解决方案名称为c-core。 Visual Studio 2019中一个解决方案会有多个项目。 ![]() 配置新项目 项目概览 ![]() 4. 创建筛选器 筛选器用于存放不同阶段的代码,在项目的源文件下创建筛选器net/ittimeline/c/foundational/object ![]() 5.编写helloworld 首先选中筛选器net/ittimline/c/foundational/object ![]() 然后选择基于C++文件,创建源文件helloworld.c ![]() 然后编辑源文件 #include <stdio.h> 6.gcc编译运行helloworld.c 本文出处: https://www.toutiao.com/a6752677559860724227/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|