2011年3月26日

摘要: 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构?1#ifndef__INCvxWorksh2#define__INCvxWorksh3#ifd... 阅读全文
posted @ 2011-03-26 16:09 做个不善的人 阅读(363) 评论(0) 推荐(0)
 
摘要: COM(Component Object Model) 定义了一个在运行时可复用组件直接进行二进制的交互时的标准。说白了,就是进程、组件之间数据交换的标准。只要按照这个标准来实现,进程、组件就可以跨越机器的界限交换数据,包括函数调用,参数传递等等。既然是二进制标准,那就应该是跟语言无关的,不管你用C++,C还是Java或者Python都可以在Linux或者其他系统上实现一套COM,然后跟现在微软的COM进行通信,事实上COM对语言有一点要求,就是必须支持function pointer,那C是可以的,Java就不行了。 为什么COM必须要求语言支持function pointer呢?因为指针可 阅读全文
posted @ 2011-03-26 14:02 做个不善的人 阅读(362) 评论(0) 推荐(0)