我已经创建了一个静态库(.lib)。源代码如下:
源文件:
void foo(void)
{
MyType var;
var.val1 = 40;
var.val2 = 30;
use(var);
}
头文件管理器(libheader.h):
/* Exported API */
void foo(void);
主要项目:
#include "libheader.h" // XX.lib already imported to the main project
int main()
{
// some code
foo(); // Breakpoint here and step in
// some code
return 0;
}
在主项目中,我导入了该库并包含“ libheader.h”,并调用了foo()
。当我调试代码并在foo()
上放置一个断点时,然后单击“进入”,调试控制台中将显示静态库的汇编代码,并且我可以看到局部变量内容,例如var
(在示例中)。我什至可以在调用堆栈中看到use(var)
已被调用。
我的问题是:该库在交付给客户端之前应该受到保护。在调试过程中可以看到.lib文件的内容(变量,函数名称,调用...)是否正常?有没有办法对其进行加密/保护?