LinkAllSymbols:强制将所有静态库符号链接到 .exe 目标,以在 Windows 上进行完整的代码覆盖测量

时间:2024-06-19 08:31:46
【文件属性】:

文件名称:LinkAllSymbols:强制将所有静态库符号链接到 .exe 目标,以在 Windows 上进行完整的代码覆盖测量

文件大小:12KB

文件格式:ZIP

更新时间:2024-06-19 08:31:46

Python

将静态库链接到可执行文件时,通常会丢弃未引用的符号。 在我们使用 gcc 的 Unix 下,我们可以将标志--whole-archive传递给链接器 ld,这使得 ld 不会丢弃任何对象。 在 Windows Visual Studio 下,没有等效于 GNU ld 的选项 --whole-archive。 链接器选项/ OPT:NOREF也不起作用。 有两种方法可以从静态库中强制链接指定符号。 链接器选项使用 /INCLUDE xxx 添加代码:#pragma comment(linker, "/include:xxx") 使用#pragma 更灵活。 所以我们可以使用dumpbin工具列出所有符号,然后生成头文件,使用#pragma comment(linker, "/inculde:xxx") 来包含所有符号。 确保在开发人员命令提示符中执行dumpbin.exe 或者


【文件预览】:
LinkAllSymbols-master
----MyLib()
--------MyLib.vcxproj.filters(883B)
--------Turtle.cpp(184B)
--------Fish.cpp(47B)
--------Dog.h(127B)
--------Dog.cpp(87B)
--------Turtle.h(190B)
--------Fish.h(214B)
--------MyLib.vcxproj(5KB)
----.gitignore(3KB)
----Include()
--------LinkAllSymbols.h(677B)
----README.md(1KB)
----Demo.sln(1KB)
----Demo()
--------Demo.vcxproj(5KB)
--------Demo.cpp(304B)
----GenSymbolsHeader.py(3KB)
----LICENSE(1KB)

网友评论