|
|
1
113
语言允许:
如果Fo.H包含了需要C++链接的东西呢?
|
|
|
2
32
没有真正的理由使用
注意C++标准在句法上定义。
|
|
|
3
22
我不知道你为什么要这么做,但根据 this Sun文章,可以使用外部“C++”在一个外部的“C”块中指定一组“C”函数中的某些函数具有本机C++链接。
|
|
|
4
6
两种猜测:
阅读
this answer
这就解释了
|
|
|
6
2
C和C++使用不同 name mangling rules . 本质上,ExtEnter“C”告诉C++编译器以C命名的函数命名函数。 |
|
|
7
1
这将指定要使用的链接约定。大多数语言都知道如何与“C”风格的函数链接。 在两种情况下需要此选项:
例子:
现在链接工作了,因为它使用C约定。 |
|
|
8
1
我使用extern“C”的第一个原因是为了避免C++的名称混乱规则。如果您使用的是.Net语言,并且希望将PInvoke转换为特定的本机函数,那么这一点非常重要。唯一的方法是禁用名称损坏。 |
|
|
9
0
要回答第二个问题,“它实用吗?”:
在标准头文件中,如
|
|
|
10
-1
简单的回答是,您可以使用extern C告诉编译器不要使用名称混乱。这意味着你可以把C和C++代码的位链接到同一个项目中。 |
|
|
11
-2
至于Exc++“C++”,我从未见过它在真实的代码中,尽管C++标准允许。我想这是不可能的。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |