XPCOM ( Cross Platform Component Object Model),是一个跨平台的软件框架,它使开发人员把一个大的软件工程分解成各个小的独立的模块,然后再运行时再组装在一起,这就是组件化的思想。原理类似于MSCOM,需要理解其原理可以参考《com本质论》。进一步了解xpcom请进https://developer.mozilla.org/en-US/docs/XPCOM
第一步:搭建环境
下载gecko-sdk-win32-msvc-1.8.0.4.zip,然后解压到相应目录,解压后如下所示
第二步:创建接口文件
1. 使用VC下的guidgen 生成GUID,如“7013591D-0E10-407E-B85D-E72286E0349D"
2.创建接口文件定义
#include "nsISupports.idl"
[scriptable, uuid(7013591D-0E10-407E-B85D-E72286E0349D)]
interface ICalculate : nsISupports
{
long Add(in long a, in long b);
long Sub(in long a, in long b);
};
3. 生成头文件和类型库文件
在命令行列调用gecko-sdk\bin目录里xpidl工具处理ICalculate.idl文件
xpidl -m header -I "idl目录的路径" ICalculate.idl
xpidl -m typelib -I "idl目录的路径" ICalculate.idl
(如果提示缺少dll文件,请在这里下载http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zip