2.4. 将目标文件连接在一起
通过将目标文件连接在一起,您只能编译包含更改的源文件,而不是整个项目。
当您使用由多个源文件组成的项目时,请使用 Clang 编译器为每个源文件编译目标文件。下一步,将这些目标文件链接到一起。clang 会自动生成包含您链接的对象文件的可执行文件。编译后,将目标文件重新链接在一起。
注意
要编译 C++ 程序,请使用 clang++
而不是 clang
。
流程
将源文件编译到目标文件中:
clang -o <object_file> -c <source_file>
$ clang -o <object_file> -c <source_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<object_file
> 替换为您的对象文件的名称,将<source_file
> 替换为源文件的名称。将目标文件连接在一起:
clang -o <output_file> <object_file_0> <object_file_n>
$ clang -o <output_file> <object_file_0> <object_file_n>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<output_file
> 替换为输出文件的名称,将 <object_file
> 替换为您要链接的对象文件的名称。重要目前,某些库功能被静态链接到使用 LLVM Toolset 构建的应用程序,以支持它们在多个 Red Hat Enterprise Linux 版本上执行。这会产生一个小的安全风险。如果您需要因为这个风险而重建应用程序,红帽会发出一个安全勘误。
不要静态链接您的整个应用程序。