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

Linux常用工具

  1. 预处理器 cpp
  2. C编译器 gcc
    1. 编译优化等级 -OX
      1. -O0:不优化
      2. -O2:默认级别
      3. -O3:展开循环、更多内联,有时反而变慢或行为不符预期
      4. -Os:空间优化(适合嵌入式):牺牲少量速度,换取更小代码段
      5. -Og:调试优化:保留调试信息并做少量优化,比 -O0 稍快
  3. C++ 编译器 g++
  4. 汇编器 as
  5. 链接器 ld
  6. 二进制工具集
    1. 符号显示器 nm
      1. nm -S a.o       # 查看符号大小和段信息

        image

         U:未定义     T:非静态代码段       r:静态只读数据段

    2. 信息查看器 objdump
      1. objdump -s 文件名    # 查看可执行程序数据段内容
      2. objdump -t a.o          # 查看符号表
    3. 段剪辑器 objcopy:裁剪去除elf格式
    4. readelf -S a.o      # 查看段表 
    5. size a.o        # 查看代码段/数据段/未初始化数据段大小

      image

—————补充知识点————

image

——————————————

编译过程:

  1. gcc -E -o main.i main.c
  2. gcc -S -o main.S main.i
  3. gcc -c -o main.o main.S
  4. gcc -o main_elf main.o

——————————————

http://www.aitangshan.cn/news/281.html

相关文章:

  • 8/11
  • 项目调试
  • C++小白修仙记_LeetCode刷题_算数运算
  • CF1774G Segment Covering
  • 高亮部分文字
  • 使用Python将中文语音翻译成英语音频 - 详解
  • wqs 二分学习笔记
  • 用位运算快速分解整数:从 LeetCode 2438 题谈起
  • 2025-08-11 闲话
  • 2025 暑假集训 Day7
  • SQL优化必备脚本:Oracle获取绑定变量的字面SQL文本
  • Nature Genetics | 解码免疫细胞动态遗传调控机制及其与疾病的关联
  • 8月11日
  • 【Vulnhub】symfonos: 4 2 总结
  • [PaperReading] Helix: A Vision-Language-Action Model for Generalist Humanoid Control
  • OI集训 Day26
  • RESTful 风格(详细介绍 + 案例实现)
  • 如何用 AI 智能体开启副业之路?零基础入门指南
  • 休息一天
  • 2025.08.11 杭电8
  • 提升LangChain开发效率:10个被忽视的高效组件,让AI应用性能翻倍
  • 更不是SaaS终结者
  • MD5加密算法详解:原理、实现与应用
  • Kafka生产者事务机制原理 - 指南
  • 为什么数据库连接很消耗资源?
  • 题解:[JOISC 2022] 京都观光
  • 2025.8.11
  • 2025-08-10 模拟赛总结
  • Day40
  • 2025.08.08 HDU 多校ACM