什么是"linkonce"部分,以及额外的荣誉,它与comdat部分有何不同?
为了清楚起见,我熟悉comdat部分的工作原理,它们是如何使用的等等.在谷歌搜索中,linkonce几乎只在论坛中讨论,其中假定该部分的含义/意图/目的已经相当清楚.
http://gcc.gnu.org/ml/gcc/2003-09/msg00984.html好像在讨论这个问题......
编辑
总结一下:
根据该线程,COMDAT在某种意义上更加模糊,因为没有单一的正确/标准定义构成真正的 COMDAT实现.g ++的linkonce是/ an /概念的实现.
在MSVC++和Wind River的'diab'编译器使用的COMDAT实现中,它们的COMDAT实现允许它删除未使用的部分; 例如,如果main.cpp链接到foo.cpp,则主二进制文件可以从foo.o中排除任何COMDAT部分(如果未引用该部分).
我不确定这种类型的折叠是否应用于g ++ linkonce部分,但它似乎合乎逻辑.
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |