Linux 下进行 C 或 C++ 编程时重要的 GCC 标志-linux gcc -c
Linux 下进行 C 或 C++ 编程时重要的 GCC 标志
作者:Linux迷 2023-01-12 23:21:15系统 Linux 在本教程中,我介绍了一些可用于日常编译的最重要的 GCC 标志。我强烈推荐我最后提到的提示,因为它节省了很多时间并且使用起来非常方便。如果您在 Linux 下进行 C 或 C++ 编程,则必然要采用 GNU GCC 来编译 C 或 C++ 源代码生成可执行程序。
和往常一样,您可以使用标志来扩展功能。
那么让我们看看一些最重要的 GCC 标志。
重要的 GCC 标志
为了便于理解,我将使用以下 C 程序:
#include很简单,对吧?不要以此议论我的编程技能哦。
1.使用-o指定输出文件名
在最基本的术语中,您将按如下方式使用 GCC 编译器:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc main.c上面的命令将编译程序并创建一个名称为的可执行文件a.out.:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ tree .├── a.out└── main.c0 directories, 2 files要指定输出可执行文件名,您需要做的就是在文件名后附加-o标志,如下所示:
gcc main.c -o Filename例如,在这里,我将可执行文件命名为linuxmi:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc main.c -o linuxmilinuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ tree.├── a.out├── linuxmi└── main.c0 directories, 3 files2.使用 -Wall 启用每个警告
如果您想打印每个警告以便您可以检查您的代码并使它比以往更好,请使用该-Wall标志。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -Wall main.c -o linuxmi例如,在这里,我将使用不初始化变量的代码:
#include当我执行代码时,它给了我一条警告‘i’ is used uninitialized:如下图
3.使用 -l 链接共享库
要将 C 程序与共享库链接,您所要做的就是在共享库的名称后附加-l标志。
例如,在这里我将代码 main.c 与共享库链接起来pthread以生成最终的可执行文件linuxmi:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc main.c -o Hello -lpthread但是如果你想链接外部库怎么办?在这种情况下,您必须使用-L。
例如,在这里,我链接了存储在 /home/linuxmi/LHB 中的共享库“LHB”:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -L/home/linuxmi/LHB -o main.c linuxmi -lLHB4.仅使用 -E 获取预处理器输出
预处理是编译的第一阶段,如果你只关心第一阶段代码发生了什么,你可以使用-E标志。
在这里,我将标准输出重定向到first-stage.i文件:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -E main.c >first-stage.i5.使用 -S 获取汇编代码
如果您关心编译期间的程序集输出,可以使用-S标志轻松生成。
在这里,我生成了main.c名为 as的程序集输出main.s:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -C main.c -o compiled6.仅使用 -C 生成编译后的代码
要在没有任何链接的情况下获得编译代码,您所要做的就是使用-C标志。
例如,在这里,我main.c在名为的文件中生成了编译代码compiled:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -C main.c -o compiled7.使用 -save-temps 生成所有中间文件
之前,我解释了如何获得预处理、汇编和编译的输出,但是如果我告诉您可以一次获得所有这些结果呢?
它非常简单,可以使用-save-temps标志轻松生成。
假设我想为main.c文 件生成所有中间文件,所以我需要遵循给定的命令:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -save-temps main.c8.使用 -Werror 将警告转换为错误
在测试时,我们程序员往往会忽略可能表明应用程序中存在漏洞和安全威胁的警告。
为了使您的代码坚如磐石,我建议您使用-Werror标志将警告转换为错误。
在这里,我使用的代码会给你一个警告,说“undefined variable c”:
#include但是当我-Werror在执行时使用标志时:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -Wall -Werror main.c -o linuxmi它没有警告,而是给了我一个错误:
9.使用 -fPIC 获取与位置无关的代码
对于那些处理动态链接的人来说,这个标志可能是至关重要的,尤其是共享库。
在创建共享库时,您应该拥有与位置无关的代码,以便您可以从任何地址而不是静态地址加载共享库。
例如,在这里,我从main.c创建了一个名为libmain.so的共享库:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -c -Wall -Werror -fPIC main.clinuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -shared -o libmain.so main.o10. 使用 -V 获取详细的编译输出
如果您想逐行了解 GCC 对您的代码做了什么,您可以使用该-V标志来获得详细的输出。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ gcc -Wall -v main.c -o linuxmi奖励认真学习的朋友:使用文件应用 GCC 标志
如果您使用同一组标志来编译程序,拥有一个包含必要选项的文件可以为您节省大量时间。
首先,让我们使用 touch 命令创建一个文件:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com⚡ touch Flags现在,您可以使用任何您喜欢的文本编辑器来输入标志。只需确保用空格分隔它们即可。
我在文件中保存了 3 个标志:
完成添加标志后,您所要做的就是在文本文件中附加@符号:
如您所见,它将警告转换为错误并创建了所有中间文件。
责任编辑:赵宁宁 来源:Linux迷 编程GCC 标志Linux推荐系统
电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载
语言:中文版系统大小:2.98GB系统类型:Win8电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有
微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载
语言:中文版系统大小:5.13GB系统类型:Win11微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化 1、保留 Edge浏览器。 2、隐藏“操作中心”托盘图标。 3、保留常用组件(微软商店,计算器,图片查看器等)。 5、关闭天气资讯。
Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载
语言:中文版系统大小:4.75GB系统类型:Win11Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
相关文章
- win8.1系统gwx.exe怎么手动删除 gwx.exe手动删除步骤【详解】
- 装机高手教你U盘量产工具的运用
- 教大家如何禁止修改win7桌面壁纸的方法
- Win8系统怎么在后台运行打印机程序?
- XP系统IE提示“该页正在访问其控制范围之外的信息”怎样办?
- 简述电脑重装系统软件还在吗
- Win8怎样设置边框颜色为透明?
- 想知道笔记本cpu温度多少正常
- 调查发现超十万名 ChatGPT 用户信息被黑客出售
- win7系统打开磁盘共享说“没有访问权限”的解决方法 win7共享磁盘没有权限访问的解决方法
- 泡芙加速器Steam Deck加速教程
- Win11预览版25314如何启用USB4专用设置页面【详解】
- Win7无法开启按F8无法进入安全模式怎么办?
- 阿里旺旺内存冗余文件的清理办法_其它聊天
- 如何删除word空白页的操作步骤
- 电脑突然重启,小编教你电脑忽然重启如何解决
- win10安全模式初始密码多少 win10安全模式初始密码介绍【详解】
- WinXP通过注册表更改远程桌面默认端口的办法
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1技术员联盟 WIN7纯净版 64位安全装机系统 V2023.01 下载
- 2笔记本专用Win11 22H2系统下载_笔记本专用Win11 64位专业版镜像下载
- 3深度技术 GHOST WIN7 64位极速优化版 V2023.12 下载
- 4深度技术Ghost win11 64位 极速优化版 v2023.09下载
- 5win7 64位ghost下载_萝卜家园 Ghost Win7 64位 优化装机版下载V2023.01
- 6win11官网最新无广告版系统 v2023下载- 系统家园
- 7番茄花园 Ghost XP SP3 海量驱动装机版 2021年4月 ISO镜像高速下载
- 8Win10办公版系统下载_技术员联盟 Ghost Win10 64位 专业办公版下载V2022.03
- 9系统之重装系统win7旗舰版下载-系统之重装系统win7旗舰版最新免费下载
- 10游戏专用win11系统下载-游戏专用win11系统专业版下载