易截截图软件、单文件、免安装、纯绿色、仅160KB

好神奇的 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


最后感谢刘合同学的激情参与,哈哈。。。


相关文档:

C标准库

索引:
1 输入与输出
1.1 文件操作
1.1.1 fopen
1.1.2 freopen
1.1.3 fflush
1.1.4 fclose
1.1.5 remove
1.1.6 rename
1.1.7 tmpfile
1.1.8 tmpnam
1.1.9 setvbuf
1.1.10 setbuf
1.2 格式化输出
1.2.1 fprintf
1.2.2 printf
1.2.3 sprintf
1.2.4 snprintf
1.2.5 vprintf
1.2.6 vfprintf
1.2.7 vsprintf ......

ARM C嵌入式编程中的几个关键字

ARM C嵌入式编程中的几个关键字
1、访问绝对地址的内存位置:
     #define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74))
     上述语句把无符号整数_ISR_STRATADDRESS+0x74强制转换为指针,指向RAM,用下面的语句可以访问它:
pISR_EINT0 = (int)Eint0_ISR
 & ......

一个Linux下C线程池的实现

什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。下面是Linux系统下用C语言创建的一个线程池。线程池 ......

深入认识Turbo C编译器[转]

1 编译器 有谁真正的理解过一个编译器呢?许多人认为TC很简单很落后,但是即便是这样简单的工具,到底有几个人真正的深入理解了呢?一个简单的编译器都不能理解,如何能成为高手,如何能深入的使用更加高级的工具呢?不要以为自己使用的是VC就很了不起,因为使用这样傻瓜化的工具只能让你看不到事物的本质。接下来我们就来 ......

使用VMware构建快采调试环境(C/S结构)

操作步骤:
1.物理机安装VMWare,在虚拟机中安装Windows XP Professional + SP2
2.VM->Install VMware Tools...
3.在VMware主界面双击Ethernet,并选定Host-only选项
4.在物理机网络连接中,设置VMware Network Adapter VMnet1的IP地址为:130.0.0.50,子网掩码:255.255.0.0,其余为空,作为操作站使用。同时禁用VM ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号