ld
- the GNU linker
链接器
的作用是链接
目标文件
生成
可执行文件
。
ld [option]... [FILE]...
查看ld
命令的使用帮助。
查看ld
命令的版本、版权信息。
查看ld
命令的版本信息。
查看ld
命令的版本、支持的动态库格式信息。
指定输出文件的路径和名称。
进行静态链接
。静态链接
就是把静态库
整体链接到可执行文件
或者动态库
中,这样生成的可执行文件
和动态库
会很大,但是效率很高。
此参数与gcc的同名参数意义相同。
进行动态链接
。动态链接
就是把动态库
的信息链接到可执行文件
或者动态库
中,运行的时候动态查找动态库
, 这样可以在多个程序之间共享动态库
,但是效率没有静态库
高。
创建动态库
。
此参数与gcc的同名参数意义相同。
创建可执行文件
。
此参数与gcc的同名参数意义相同。
链接libName
。
此参数与gcc的同名参数意义相同。
设置查找libName
的目录。
此参数与gcc的同名参数意义相同。
不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器。
该选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件。
编译器
在生成一个C程序的可执行文件
时,通常会在我们的代码上加上几个启动文件
(crt1.o、crti.o、crtend.o、crtn.o等), 他们是标准库文件。这些代码设置C程序的堆栈等,然后调用main函数。他们依赖于操作系统。