跳到主要内容

3.2 编译器工具链常用选项

本节介绍KF32工具链中每个工具最常用的命令行选项。

3.2.1 kf32clang常用选项​

表3.1 kf32clang常用选项

选项作用描述
--target=name指定编译的目标平台
-march=name指定编译架构
-c只编译,不链接
-std指定 C / C++ 的语言标准版本
-g用于生成调试信息的选项
-Onum用于控制优化等级
-S编译到汇编
-Wall启用编译器警告
-ffunction-sections每个函数一个 .text.<name> 段
-fdata-sections每个变量一个 .data.<name> 段
-o用于指定输出文件名
-MMD自动生成依赖关系(.d文件),用于Makefile,便于管理头文件变更
-v显示详细的编译过程信息(版本、调用的子命令、路径等),用于排查问题
-save-temps保留编译过程中产生的所有临时文件

3.2.2 kf32ld常用选项​

表3.2 kf32ld常用选项

选项作用描述
-T使用自定义链接脚本,控制内存布局
-L传递库搜索路径
-l传递库
--gc-sections删除未使用的函数和数据节
-o用于指定输出文件名
-Map=<file>用于生成含最终可执行文件或库内部详细布局的文本报告