我在Visual Studio 2015下准备了两个C项目。第一个项目只是一个静态库项目,而第二个是使用第一个项目生成的静态库文件的控制台应用程序。
我在Windows中使用DUMPBIN工具检查了静态库文件,发现有很多变量和函数暴露在外面,这对封装问题非常不利。
我的问题是如何确定我不会公开应该是私有的功能。我是否需要每次使用该工具进行检查?我的问题也包括变量。我所有的静态全局变量也暴露在外面。我如何强迫他们私下?
答案 0 :(得分:1)
我认为dumpbin输出中的存在不能被视为“暴露”。所有静态全局变量都需要一些空间分配,并且可能需要在运行时初始化。所以它们很自然地存在于dumpbin输出中。此外,如果您使用链接时代码生成进行编译,那么所有内容实际上都是“暴露”的。