当前位置: 首页 > article >正文

[gcc]常见编译开关

GCC 提供了许多编译开关(编译选项),这些开关可以用于控制编译过程的各种方面,如优化级别、调试信息、警告和错误处理等。
以下是一些常见的 GCC 编译开关:

  1. -o:指定输出文件名。例如,gcc -o myprogram myprogram.c 将编译 myprogram.c 并生成名为 myprogram 的可执行文件。
  2. -Wall:激活所有警告。这有助于发现代码中的潜在问题。
  3. -Werror:将所有警告视为错误,这会导致编译器在遇到警告时停止编译。
  4. -O:优化代码。后面可以跟数字 0-3,其中 0 表示不优化,3 表示最大优化。例如,-O2 是一个常用的优化级别。
  5. -g:生成调试信息。这对于使用调试器(如 GDB)进行调试非常重要。
  6. -std:指定遵循的 C 或 C++ 标准。例如,-std=c99 表示遵循 C99 标准,-std=c++11 表示遵循 C++11 标准。
  7. -pedantic:发出 ISO C 和 ISO C++ 标准的所有警告。
  8. -DMACRO:定义一个宏。例如,-DDEBUG 将定义一个名为 DEBUG 的宏。
  9. -I:指定额外的头文件搜索路径。例如,-I/path/to/include
  10. -L:指定额外的库文件搜索路径。例如,-L/path/to/lib
  11. -l:链接一个库。例如,-lm 表示链接数学库(libm.so 或 libm.a)。
  12. -shared:生成共享库。
  13. -static:静态链接,即使用静态库而不是共享库。
  14. -fPIC:生成位置无关代码,这对于创建共享库是必要的。
  15. -pthread:启用 POSIX 线程(pthread)支持。
    这些只是 GCC 提供的众多编译开关中的一部分。GCC 的 man 页面提供了完整的编译选项列表和详细说明。要查看 GCC 的 man 页面,可以在命令行中输入 man gcc

http://www.kler.cn/a/467029.html

相关文章:

  • 简述Linux的信号处理
  • Docker 容器内部如何访问本机的服务
  • 用opencv实现像素统计
  • 如何在 Spring Cloud Gateway 中创建全局过滤器、局部过滤器和自定义条件过滤器
  • 每天你好20250105(距离春节24天!!!)
  • 个人交友系统|Java|SSM|JSP|
  • 使用GitLab+Jenkins搭建CICD执行环境
  • 滴滴工作流引擎Turbo与logicFlow研究
  • 嵌入式ARM平台 openwrt系统下 基于FFmpeg 的视频采集及推流 实践
  • TypeScript 快速入门指南
  • Java.函数-acwing
  • docker容器间基于Link单向通信
  • 搭建macOS虚拟机环境
  • 【C++】你了解异常的用法吗?
  • ASA第六天笔记
  • 怎样认识camera-ISP
  • Linux(Centos 7.6)命令详解:ls
  • 不锈钢均温板结合强力粘合技术革新手机内部架构
  • Java100道面试题
  • GaussDB逻辑解码技术原理深度解析
  • 使用JMeter玩转tidb压测
  • df.replace(regex={‘b‘: {r‘\s*\.\s*‘: np.nan}})
  • Java项目实战II基于小程序的驾校管理系统(开发文档+数据库+源码)
  • 如何判断状态:停留还是移动。【计算加速度de方案】
  • 计算机网络——数据链路层-功能、组帧和差错控制
  • 博客标题:使用Go和RabbitMQ构建高效的消息队列系统