链接器是一个将编译后的目标文件(.obj)链接成可执行文件(.exe)或动态链接库(.dll)的工具。链接器选项是用于控制链接器在链接过程中的行为。在Visual Studio 2010 - 2015及更高版本中,链接器选项主要用于以下方面:
- 控制链接过程中的输入文件:链接器选项可以指定要链接的目标文件和库文件,以及排除不需要的文件。
- 控制链接过程中的输出文件:链接器选项可以指定生成的可执行文件或动态链接库的名称、路径和格式。
- 控制链接过程中的内存布局:链接器选项可以指定程序的内存布局,包括代码、数据和堆栈段的大小和位置。
- 控制链接过程中的符号解析:链接器选项可以指定符号的可见性和外部引用的解析方式。
- 控制链接过程中的优化:链接器选项可以指定优化选项,如去除未使用的代码和数据、压缩符号表等。
在Visual Studio 2010 - 2015及更高版本中,实际执行的操作包括以下几个方面:
- 解析目标文件和库文件:链接器会读取指定的目标文件和库文件,解析其中的符号和重定位信息。
- 解析外部引用:链接器会解析目标文件和库文件中未定义的符号,并在指定的库文件中查找对应的定义。
- 合并相同的节:链接器会将相同类型的节(如.text、.data等)合并到一起,以减少程序的内存占用和加载时间。
- 生成可执行文件或动态链接库:链接器会将合并后的节按照指定的内存布局生成可执行文件或动态链接库。
- 生成符号表和重定位信息:链接器会生成程序的符号表和重定位信息,以便操作系统在加载程序时进行地址空间布局随机化和动态链接。
总之,链接器选项在Visual Studio 2010 - 2015及更高版本中实际执行的操作是控制链接过程中的各个方面,以生成可执行文件或动态链接库并确保程序的正确性和高效性。