有关 extern "C"
搞过C和C++混编的同志们都知道这个啥意思。
这儿有讲:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html
但看一下下面的这个代码:
#include <iostream>
using namespace std;
extern "C" { int g_inta; }
int main (void)
{
g_inta = 1;
cout << g_inta << endl;
return 0;
}
你觉得g_inta定义了不?嗯。。。它已经被定义了,要不编不过去。。。
如果把 extern "C" { int g_inta; }换做
extern "C" int g_inta;
extern { int g_inta; }
extern int g_inta;
再试试呢?嗯。。。这只是对外部变量的声明,而非定义,是编不 过去的。
就为这个折腾了半晌,最后看看这个:
http://book.51cto.com/art/200904/121028.htm
最后感谢刘合同学的激情参与,哈哈。。。
好神奇的 extern "C" 哦。。。
最新推荐文章于 2024-06-02 11:46:07 发布