Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

xpidl

 

xpidl 是一个基于 XPIDL 接口描述文件, 用于生成 XPCOM 接口信息的工具. 它会自动生成:

  • C++ 头文件 (<tt>.h</tt>), 该头文件中包含了一个带注释的 C++ 接口的完整声明.
  • Java 接口文件 (<tt>.java</tt>)
  • XPConnect typelib 文件 (<tt>.xpt</tt>), 这个文件中定义了通过 XPConnect 动态调用 XPCOM 对象的运行时刻类型信息.
  • HTML 格式的文档 (<tt>.html</tt>)

编译 xpidl

xpidl 的实现是基于 Gnome 工程中的 libIDL idl 编译器. libIDL 编译器依赖的 glib 库也来自于 gnome 工程. xpidl 编译器现在是 Mozilla 整个编译过程中必须包含的一分子, 我们用它来生成 XPCOM 组件的头文件. 如何得到 libIDL 和 glib 请看 Build Documentation.

Unix: 如果你仅仅想编译 xpidl 本身, 你只需要编译很少一部分目录. 在获取 mozilla 源码后, 执行 'configure', 然后以下面的命令就可以在 dist/bin 目录下编译出 xpidl:

make -C config
make -C nsprpub
make -C xpcom/typelib

使用 xpidl

xpidl build page 有关于如何添加一个 XPIDL 文件到 Mozilla 的编译过程的说明. xpidl 也可以在 Unix 和 Windows 下以命令行的形式执行:

Usage: ./xpidl -m mode [-w] [-v] [-t version number]
          [-I path] [-o basename | -e filename.ext] filename.idl
       -a emit annotations to typelib
       -w turn on warnings (recommended)
       -v verbose mode (NYI)
       -t create a typelib of a specific version number
       -I add entry to start of include path for ``#include "nsIThing.idl"
       -o use basename (e.g. ``/tmp/nsIThing) for output
       -e use explicit output filename
       -m specify output mode:
          header        Generate C++ header            (.h)
          typelib       Generate XPConnect typelib     (.xpt)
          doc           Generate HTML documentation    (.html)
          java          Generate Java interface        (.java)

资源

Flames to docs [email protected] & [email protected]

 

原始文档信息

 

文档标签和贡献者

 此页面的贡献者: ziyunfei, Rongsheng, Klp99
 最后编辑者: ziyunfei,