ZHCU876Z July 2001 – October 2023 SM320F28335-EP
C/C++ 编译器生成用于初始化全局变量的数据表。节 7.10.3.1讨论了这些初始化表的格式。按照以下方式之一使用初始化表:
如果在不编译任何 C/C++ 文件的情况下使用链接器命令行,必须使用 --rom_model 或 --ram_model 选项。这些选项告知链接器两个信息。首先,选项指示链接器应遵循 C/C++ 约定,在 c_int00 启动例程中使用main() 定义进行链接。其次,选项告知链接器是在运行时还是在加载时选择初始化。如果命令行在需要时未能包含这些选项之一,则将看到“警告: 没有找到合适的入口点;设置为0”。
如果使用单个命令行进行编译和链接,则 --rom_model 选项是默认选项。如果使用了 --rom_model 或 --ram_model 选项,该选项必须跟在 --run_linker 选项之后(请参阅节 4.1)。
有关EABI使用 --rom_model 和 --ram_model 的链接约定的信息,请分别参阅节 7.10.4.3和节 7.10.4.5。
有关COFF使用--rom_model 和 --ram_model 的链接约定的信息,请分别参阅节 7.10.3.2和节 7.10.3.3。以下列表概述了COFF ABI使用--rom_model 或 --ram_model 的链接约定: