验证为封装生成的库

verify generated library for the encapsulation

我在 Visual Studio 2015 下准备了两个 C 项目。第一个项目只是一个静态库项目,而第二个是一个控制台应用程序,它使用第一个项目生成的静态库文件。

我在Windows中用DUMPBIN工具检查了静态库文件,发现有很多变量和函数暴露在外,很不利于封装。

我的问题是如何确保不公开本应为私有的函数。我需要每次都用那个工具检查吗?我的问题还涉及变量。我所有的静态全局变量也暴露在外面。我怎样才能强制他们保密?

我认为 dumpbin 输出中的存在不能被视为 "exposing"。您所有的静态全局变量都需要一些 space 分配,并且可能需要在运行时进行初始化。所以它们出现在 dumpbin 输出中是很自然的。此外,如果您使用 link 时间代码生成进行编译,那么所有内容实际上都是 "exposed".