ZHCUAU3J January 2018 – March 2024
以下各表列出了链接器选项。有关这些选项的详细信息,请参阅本文档的Chapter11以及 节 12。
选项 | 别名 | 说明 |
---|---|---|
--run_linker | -z | 启用链接。 |
--output_file=file | -o | 为可执行输出文件命名。默认文件名为 .out file。 |
--map_file=file | -m | 生成输入和输出段(包括空位)的映射或列表,并将列表放置在 file 中。 |
--stack_size=size | [-]-stack | 将 C 系统栈大小设为 size 字节,并定义全局符号来指定栈大小。默认值 = 1K 字节。 |
--heap_size=size | [-]-heap | 将堆大小(对于 C 中的动态内存分配)设为 size 字节,并定义全局符号来指定栈大小。默认值 = 1K 字节。 |
选项 | 别名 | 说明 |
---|---|---|
--library=file | -l | 将存档库或链接命令 file 命名为链接器输入。 |
--disable_auto_rts | 禁止自动选择运行时支持库。请参阅节 11.3.1.1。 | |
--priority | -priority | 满足由包含该符号定义的第一个库实现的未解析引用。 |
--reread_libs | -x | 强制重新读取库,以解析反向引用。 |
--search_path=pathname | -I |
在查找默认位置之前,更改库搜索算法以查找用 pathname 命名的目录。此选项必须出现在 --library 选项之前。 |
选项 | 别名 | 说明 |
---|---|---|
--define=name=value | 将 name 预定义为预处理器宏。 | |
--undefine=name | 删除预处理器宏 name。 | |
--disable_pp | 禁用命令文件预处理。 |
选项 | 别名 | 说明 |
---|---|---|
--diag_error=num | 将由 num 标识的诊断分类为错误。 | |
--diag_remark=num | 将由 num 标识的诊断分类为备注。 | |
--diag_suppress=num | 抑制由 num 标识的诊断。 | |
--diag_warning=num | 将由 num 标识的诊断分类为警告。 | |
--display_error_number | 显示诊断的标识符及其文本。 | |
--emit_references:file[=file] | 发出包含段信息的文件。这些信息包括段大小、定义的符号和对符号的引用。 | |
--emit_warnings_as_errors | -pdew | 将警告视为错误。 |
--issue_remarks | 发出备注(非严重警告)。 | |
--no_demangle | 禁止解码诊断消息中的符号名称。 | |
--no_warnings | 抑制诊断警告(仍会发出错误)。 | |
--set_error_limit=count | 将错误限制设置为 count。在达到此错误数量后,链接器将放弃链接。(默认为 100。) | |
--verbose_diagnostics | 提供详细的诊断消息,以自动换行的方式显示原始源代码。 |
选项 | 别名 | 说明 |
---|---|---|
--absolute_exe | -a | 生成绝对可执行目标文件。这是默认设置;如果 --absolute_exe 和 --relocatable 均未指定,链接器的行为就像指定了 --absolute_exe 一样。 |
--mapfile_contents=attribute | 控制映射文件中包含的信息。 | |
--relocatable | -r | 成不可执行的、可重定位输出目标文件。 |
--xml_link_info=file | 生成结构良好的 XML file,其中包含有关链接结果的详细信息。 |
选项 | 别名 | 说明 |
---|---|---|
--entry_point=symbol | -e | 定义一个全局符号,用于指定可执行目标文件的主要入口点。 |
--globalize=pattern | 将与 pattern 匹配的符号的符号链接更改为全局型。 | |
--hide=pattern | 隐藏与指定 pattern 匹配的符号。 | |
--localize=pattern | 将与指定 pattern 匹配的符号设为局部型。 | |
--make_global=symbol | -g | 将 symbol 设为全局型(覆盖 -h)。 |
--make_static | -h | 将所有全局符号设为静态型。 |
--no_symtable | -s | 从可执行目标文件中去除符号表信息和行号条目。 |
--retain={symbol| section specification} |
指定要由链接器保存的符号或段。 | |
--scan_libraries | -scanlibs | 扫描所有库中的重复符号定义。 |
--symbol_map=refname=defname | 指定符号映射;对 refname 符号的引用被替换为对 defname 符号的引用。 | |
--undef_sym=symbol | -u | 将 symbol 作为未解析符号添加到符号表中。 |
--unhide=pattern | 排除与指定 pattern 匹配的符号,使其不被隐藏。 |
选项 | 别名 | 说明 |
---|---|---|
--arg_size=size | --args | 为 argc/argv 存储器区域保存 size 个字节。 |
--cinit_compression[=type] | 指定应用于 C 自动初始化数据的压缩类型。如果此选项没有指定 type,则默认为 lzss,表示 Lempel-Ziv-Storer-Szymanski 压缩。 | |
--copy_compression[=type] | 压缩由链接器复制表复制的数据。如果此选项没有指定 type,则默认为 lzss,表示 Lempel-Ziv-Storer-Szymanski 压缩。 | |
--fill_value=value | -f | 为输出段中的空穴设置默认填充值 |
--ram_model | -cr | 在加载时初始化变量。详情请参见节 11.3.4。 |
--rom_model | -c | 在运行时自动初始化变量。详情请参见节 11.3.4。 |
--trampolines[=off|on] | 生成 far call trampolines。默认为 on。 |
选项 | 别名 | 说明 |
---|---|---|
--compress_dwarf[=off|on] | 大力减小输入目标文件中 DWARF 信息的大小。默认为 on。 | |
--linker_help | [-]-help | 显示有关语法和可用选项的信息。 |
--minimize_trampolines[=off | postorder] | 放置段以更大限度减少所需的 far trampolines 数量。默认值为 postorder。 | |
--preferred_order=function | 为函数放置设定优先级。 | |
--zero_init=[off|on] | 控制对未初始化的变量的预初始化。默认为 on。如果使用了 --ram_model,则始终为 off。 |