我在 linux 中进行了大量编程,我使用可见性属性来定义符号在共享对象中是可见还是隐藏。只是为了让事情更清楚:如果一个符号是可见的,它将可以从外部访问(有人与共享对象链接),如果它是隐藏的,它应该只在内部使用。
在 Windows 上,它似乎有点不同,它适用于导出(符号在此处在共享对象中定义,并且可以由与此链接的人访问)和导入(这里我与共享对象链接并且符号被导出那里)符号。但是我找不到告诉编译器不要导出符号的方法,因为它只能在此处使用,即如果有人与它链接,则会出现链接器错误。
我的问题是我是否可以将符号定义为“隐藏”(如在 linux 的 gcc 中)以及如何定义。此外,Windows 主题中的所有这些可见性对我来说有点模糊,我正在寻找一些进一步的阅读链接以更好地了解一切是如何工作的。