我知道一些链接器对命令行允许的目标文件数量有限制。什么是Visual Studio?此外,如果超过此数字,某些链接器允许您指定包含所有目标文件名称的文件,并且您只能将其作为参数传递。这是一个向您展示我的意思的例子:
some_linker file1.o file2.o ... file9000.o -out=some.lib
假设此链接器的9000太多,但它允许您在另一个文件example.txt
中写入对象的路径:
file1.o
file2.o
...
file9000.o
链接器调用变为:
some_linker -input=example.txt -out=some.lib
Visual Studio在这种情况下的表现如何?是否允许这样的事情?
答案 0 :(得分:3)
在documentation的该部分中似乎没有指定最大参数数。我不确定这是否在其他地方提供,但我个人还没有看到它。
但是,link.exe 允许您指定包含所有目标文件名称的文本文件,它称之为“命令文件”。根据{{3}},您可以通过在文件名前添加一个at符号来指定命令文件:
LINK @commandfile
命令文件中的参数可以用空格或制表符(如命令行)和换行符分隔。