好神奇的 extern "C" 哦。。。
有关 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
最后感谢刘合同学的激情参与,哈哈。。。
相关文档:
#include <iostream>
using namespace std;
class Base {
public:
virtual void fn(int x) {
cout << "In Base class, int x = " << x << endl;
}
};
class SubClass : public Base {
public:
// 函数的重载,这样的重载方式,在Java中能行,在C/C++中却不行
virt ......
1 编译器 有谁真正的理解过一个编译器呢?许多人认为TC很简单很落后,但是即便是这样简单的工具,到底有几个人真正的深入理解了呢?一个简单的编译器都不能理解,如何能成为高手,如何能深入的使用更加高级的工具呢?不要以为自己使用的是VC就很了不起,因为使用这样傻瓜化的工具只能让你看不到事物的本质。接下来我们就来 ......
题目:在屏幕上画一个矩形
要求:每按一次键盘,该矩形转动45度。矩形的大小和转动的方向有键盘输入,并将输入的数据送文件保存,按回车键程序结束。(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制矩形)
......
该makefile 只是在linux 中测试过, 若采用hu-ux 只要以下makefile中的gcc 改为aCC 但
hu-ux 未测试
1、首先确定pro*c 工程目录结构
proc/bin
proc/include
proc/lib
proc/src
src/libsrc
src/project_src
&n ......