命令行编译C程序

目录

设置MSVC环境变量

C文件编译流程

编译

链接


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

设置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平台对大小写其实是不敏感的

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值