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> | 用于生成含最终可执行文件或库内部详细布局的文本报告 |