分享

C语言 编译器理解

 融水公子 2023-11-10 发布于福建
表白:黑白圣堂血天使,天剑鬼刀阿修罗。 
讲解对象:
/C语言 编译器理解
作者:融水公子 rsgz
===

大家第一次看到gcc/g++ 、Make/Makefile、CMake/CMakeLists.txt、qmake这些字眼肯定会被头脑晕晕的

使用这些工具之前先理一理他们之间的关系就知道什么时候用什么了

首先我们需要知道源代码怎么变成可执行代码的?
源码(Source Code)>> 预处理器(Preprocessor)>> 编译器(Compiler) >> 汇编程序(Assembler)>> 目标代码(Target Code) >> 链接器(Linker)>> 可执行程序(Executables)

GCC:最开始编译C语言,后来可以处理C++以及Fortran、Java、Go等其他语言,对于.c文件会当做C文件

G++:是GCC对C++的升级版本,
对于.c文件会当做C++文件

对于.cpp文件上面两个都是按照C++文件来处理。所以呢 为了避免一些问题出现:
C文件 请用gcc/g++处理
C++  请用g++处理

但是上面的工具,仅仅支持单个源文件的编译,文件太多效率就不行了
所以调用make命令,然后makefile规则 来批量编译

但是大工程文件肯定很多,手写编译规则效率低,那么就可以使用cmake编译工具,自己写一个规则文件CMakeLists.txt生成Makfile文件,这样流程就会快很多

qmake是为Qt量身打造的编译工具,Qt是跨平台C++图形用户界面应用程序开发框架。qmake根据Qt工程文件(.pro)生成跨平台的makefile文件

所以gcc->g++-->make-->cmake-->qmake这一一些列的发展就是为了效率而生的

顺便讲解一下编译原理,一张图就能看懂了  但是绝大部分人看了就会忘记哈哈哈 



心动的话就给我文章 点个赞转发一下谢谢


=== 
公众号:不浪仙人
谢谢大家的支持!可以点击我的头像,进入我的空间浏览更多文章呢。建议大家360doc[www.360doc.com]注册一个账号登录,里面真的有很多优秀的文章,欢迎大家的到来。
---
';

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多