由于a strange C++ warning about the visibility of some symbols和an interesting answer,链接到a paper which describes the different visibility types and cases(第2.2.4节是关于C ++类),我开始怀疑是否需要一个独立的应用程序来导出符号根本不是(main
除外 - 还是需要?)。
为什么需要在独立应用程序中导出它们?
“导出符号”是“可见符号”的同义词吗?即隐藏符号是不导出的符号?
可见符号和隐藏符号之间的目标文件是否已经不同?或者这是在链接步骤中进行的,以便只导出可见符号?
对于调试信息,符号的可见性是否重要?或者这是完全独立的,即如果我隐藏所有符号,我也会得到一个很好的回溯? STABS / DWARF如何与符号的可见性相关?
答案 0 :(得分:4)
对于您不需要的应用程序,因为您没有API ...
可见性仅与共享对象相关。
答案 1 :(得分:2)
对于您不需要的应用程序,因为您没有API ...
PE和ELF可执行文件都可以导出符号,就像DLL或共享对象一样。