您当前的位置:首页 > 计算机 > 编程开发 > C语言

命令行编译C程序

时间:10-06来源:作者:点击数:

学习起步之初,先用最基础的命令行工具进行学习

设置MSVC环境变量

这个是在VS2019下进行配置的,位置和你安装IDE的位置有关

MSVC
D:\VS2019\IDE\VC\Tools\MSVC\14.29.30133

WK10_INCLUDE
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0

WK10_LIB
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0

WK10_BIN
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0

INCLUDE
%WK10_INCLUDE%\ucrt;%WK10_INCLUDE%\um;%WK10_INCLUDE%\shared;%MSVC%\include;

LIB
%WK10_LIB%\um\x64;%WK10_LIB%\ucrt\x64;%MSVC%\lib\x64;


Path下新增
%MSVC%\bin\HostX64\x64
%WK10_BIN%\x64

验证环境配置

C文件编译流程

说明:

  1. C文件进行预处理,进行宏替换,生成 .i 后缀文件
  2. 进行编译,编译为机器码,是一堆二进制数据,文件后缀为 .obj
  3. 链接,将二进制机器码,转换成二进制语言的可执行程序,exe等可执行文件

编译

执行下面的命令,会产生一个obj文件,存储了c代码的机器代码以及所需的数据支撑和代码支撑

cl /c Hello.c

这个obj文件不能直接运行,只是高级语言转化为低级语言,而且是可以跨语言的,不能跨平台。

obj文件不能直接执行,虽然里面包含的是机器代码,要想执行需要和操作系统约定,比如:代码执行位置,数据执行位置,程序的入口

另外编译器有严格审查机制,可以设置,从1-4,从弱到强、

cl /c /W(1-4) /P Hello.c

查看替换之后结果,会生成一个.i的文件,W4最高检查标准

cl /c /W4 /P Hello.c

打开Hello.c

这个文件就是把include,宏给替换之后的结果,还未编译

链接

抽取代码以及数据,打造为当前平台的可执行程序

link命令用于将目标文件、库文件和其他资源文件链接在一起生成可执行文件、动态链接库(DLL)或静态库。你可以使用link命令将名为Hello.obj的目标文件链接为可执行文件。

link Hello.obj

原来的obj也就3kb,经过打包后直接犯了40倍,生成Windows平台的可执行文件

发现winodws平台对大小写其实是不敏感的

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门