Linux编译器--gcc/g++的使用

news/2025/1/18 5:56:00/

1.gcc/g++的作用

gcc/g++就是将写好的c/c++的代码经过预编译/编译/汇编/链接生成可执行程序的过程,这个过程就是编译器的作用。

PS:由于c++支持c语言的语法,gcc和g++的操作差不多,在这里只讲gcc的使用方法。

2.gcc如何完成

格式 gcc [选项] 要编译的文件 [选项] [目标文件]

2.1 预处理

预处理主要包括:头文件的替换,去注释,宏定义,条件编译

预处理阶段是以#开头的代码段

实例:gcc - E  文件.c -o 文件.i

说明:-E是将以.c为后缀的文件翻译到以.i为后缀的文件,完成预处理的阶段,然后停止。

比如:预处理之后的text.i文件

 

2.2 编译

编译主要包括检查代码的是否有语法错误,语义错误,词法错误,然后将检查无误的代码翻译为汇编语言,可以使用-S指令来查看汇编语言

实列: gcc -S text.i -o text.s

说明:-S是将以.i为后缀的文件翻译成以.s为后缀的文件。该文件的内容为汇编语言

比如:编译之后的汇编代码

2.3 汇编

汇编是将已经生成的汇编语言转换为二进制语言,适用-C来进行转换

实例:gcc -C text.s -o text.o

说明:将汇编语言转化为二进制语言

比如:

2.4 链接

将二进制文件转化为以可执行文件,执行文件

比如:gcc text.o text

3.gcc的选项

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件


http://www.ppmy.cn/news/783362.html

相关文章

4.Nginx缓存设置和CDN

文章目录 Nginx缓存设置设置缓存取消不需要内容的缓存查看nginx缓存数据 CDN概念工作原理 Nginx缓存设置 设置缓存 ##在yum配置文件中添加nginx在线源vim /etc/yum.repos.d/nginx.repo[nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/7/$base…

Mac上显示实时网速小工具

1.iStat Menus 6 功能较丰富,比如你想看大冬天电脑温度等,毕竟Mac本出现过无法充电和无法开机的情况,明明是90多的点(自己MBP2018出现过) 下载地址:https://bjango.com/mac/istatmenus/ 激活&#xff1a…

windows10 显示实时网速

一,TrafficMonitor https://xiu.lanzoux.com/b073ycx8d 二,NetSpeedMonitor https://www.softpedia.com/get/Network-Tools/Bandwidth-Tools/NetSpeedMonitor.shtml

判断Iphone,Ipad当前网络状态

1、到苹果管网下载Reachability的Demo,https://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html 然后把:Reachability.h 和 Reachability.m 添加到工程中 2、使用如下方法就能判断当前是否联网: bool CC…

安卓开发——显示网速

相信大家在开发过程中经常需要为用户显示网速吧,不着急,咋们一步一步集成 1、计算网速函数 将该函数写到工具类里 /*** 得到网络速度* param context* return*/public static String getNetSpeed(Context context) {String netSpeed "0 kb/s&quo…

Android网速的显示

一、实现思路: 1、Android提供有获取当前总流量的方法 2、上一秒 减去 下一面的流量差便是网速 3、注意计算 二、计算网速的工具类: package imcs.cb.com.viewapplication.utils;import android.content.Context; import android.net.TrafficStats;…

win10-win11任务栏网速实时监控显示

两个软件 NetSpeedMonitor 百度网盘提取码:wub5 需要先选一下兼容性 正常安装即可 打开的话 其他设置自己看吧 TrafficMonitor 介绍: TrafficMonitor GitHub 下载: TrafficMonitor GitHub Download 比上一个好用多了 还能自定义皮肤

状态栏网速显示

使用工具:apktool,需要及时更新,不然解包或是打包是会出错; 制作步骤: 1、提取官方固件里的SystemUI.apk 、framework-res.apk以及不同厂商自己定制的framework,例如:华为的是framework-res-hwe…