C语言不同操作系统不同编译器,msvc mingw gcc cmake的理解

【摘要】 编译器的编译有三步 1 源代码生成汇编码 2 汇编语言生成中间代码.obj类型,一个源文件一个.obj 3.连接,在汇编里称Link,在C里叫生成,即Build,它的作用是生成后缀为.exe等机器码可执行文件
二进制机器码要先访问操作系统,再由操作系统访问CPU和内存等硬件不同的操作系统有相应的二进制机器码的规范,所以不同的操作系统要用不同的编译器
在 GNU/Li…

编译器的编译有三步
1 源代码生成汇编码
2 汇编语言生成中间代码.obj类型,一个源文件一个.obj
3.连接,在汇编里称Link,在C里叫生成,即Build,它的作用是生成后缀为.exe等机器码可执行文件

二进制机器码要先访问操作系统,再由操作系统访问CPU和内存等硬件不同的操作系统有相应的二进制机器码的规范,所以不同的操作系统要用不同的编译器

在 GNU/Linux中使用的是gcc和g++编译器
在WINDOWS平台中使用的是msvc编译器,还有gcc g++的Windows版本mingw,目前只知道两个。
其他硬件还有对应的编译器,如DSP芯片的开发平台CCS内置的编译器。
还有其他的编译器,我就不太了解了。

make cmake
编译器不能生成可执行文件,只能到.obj,一个源文件对应一个.obj。make是调用上述编译器批量编译生成.obj ,打包成exe 。 由于makefile 文件冗长,因此有了cmake 和qmake 等,使用简便,可以自动生成makefile
window 可以使用cmake qmake, 一些IDE 如VS内置了其他的make 工具,也可以使用,具体我也不知道叫什么。
VS提供了一套工具,从编译到 make,因此使用时极其方便。

文章来源: blog.csdn.net,作者:FeboReigns,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_40709711/article/details/116036584

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享