我的Make文件中有这个..
# Create list of object files
#
LIB_OBJS = -Wl,--start-group \
$(T_OBJ_DIR)/Source1.o \
$(T_OBJ_DIR)/Source2.o \
$(T_OBJ_DIR)/Source3.o \
$(T_OBJ_DIR)/Source4.o \
$(T_OBJ_DIR)/Source5.o \
-Wl,--end-group \
有人可以解释一下“-Wl, - start-group”和“-Wl, - end-group”是什么意思?
答案 0 :(得分:1)
这些是链接器的标志(这是-Wl
的意思)所以ld
(链接器)的文档将解释其余的。
来自GNU ld的man page:
- (档案 - )
- 开始群组归档 - 结束群组
档案应该是档案文件列表。它们可以是显式文件名,也可以是 -l </ strong>选项。
重复搜索指定的存档,直到没有创建新的未定义引用。通常,只按命令行中指定的顺序搜索存档一次。如果需要该存档中的符号来解析稍后在命令行中显示的存档中的对象引用的未定义符号,则链接器将无法解析该引用。通过对存档进行分组,可以反复搜索所有存档,直到所有可能的引用都得到解决。
使用此选项会产生显着的性能损失。最好只在两个或多个档案之间存在不可避免的循环引用时使用它。