好神奇的 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
最后感谢刘合同学的激情参与,哈哈。。。
相关文档:
索引:
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嵌入式编程中的几个关键字
1、访问绝对地址的内存位置:
#define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74))
上述语句把无符号整数_ISR_STRATADDRESS+0x74强制转换为指针,指向RAM,用下面的语句可以访问它:
pISR_EINT0 = (int)Eint0_ISR
& ......
一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:
1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。
2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS回收 ......
c/s是客户端和服务器,b/s是浏览器和服务器。
c/s在客户端要安装软件的,b/s只要有IE就可以浏览。
c/s的扩展升级比较困难,b/s就很容易的。
c/s的安全性好一些,b/s就没有c/s的高。
c/s一般用在局域网,b/s一般用在广域网。
------------------------------------------------
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 ......