![]() |
1
2
这是给MSVC的。 名称空间本身没有名称损坏,但是当名称损坏发生时,名称空间的名称会合并到函数(或对象)的名称中。此过程未记录,但已描述 here . 通过跳转回答你的具体问题:
1) 没有关于名称损坏的标准定义行为。标准实际上说的是实现为
7.5.3[连杆规范]
归根结底,这意味着因为C没有
3) 是的,你可能有连接问题。试试这个: 主.h
主.cpp
这将发出链接器错误,因为
2) 与此相关的最佳实践。如果必须为命名空间中的函数导出C-ABI,则必须注意最终导出的名称不相同。在某种程度上,这违背了使用
|
![]() |
2
5
你所做的一切都很好,会给你想要的效果。从
C++程序设计语言,第三版
,第208页:“可以在命名空间中声明具有C链接的名称。命名空间将影响在C++程序中访问名称的方式,而不是链接器看到它的方式。这个
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |