Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77243
  • 博文数量: 11
  • 博客积分: 1476
  • 博客等级: 上尉
  • 技术积分: 167
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-03 13:01
文章分类

全部博文(11)

文章存档

2009年(2)

2008年(9)

我的朋友

分类: LINUX

2008-03-31 20:04:49

  在编写mozilla的相关程序时链接有三种方式,两种外部链接的方法和一种内部链接的方法。当定义了MOZILLA_INTERNAL_API时,会启用内部链接,而且不能使用dist/include/string/*中定义的字符串处理函数,而只能使用dist/include/xpcom/nsStringAPI.h等头文件中定义的。因为mozilla和设置string/*.h中的接口为local(用nm libxul.so看到字符串相关函数的符号的类型为t),在libxul中不会导出(export)。还有一些接口是没法直接使用的,比如nsIHTMLDocuemnt.官方建议采用外部链接的方式,而且虽然有些接口没法直接使用,但是基本上在外部链接的时候,总有其他方式可以达到相同的目的。
  外部链接有dependent glue和standalone glue两种。前者一般用于XPCOM模块、扩展或者xulrunner组件等。使用libxpcomglue_s.so和libxpcom.so。后者不直接依赖xpcom库,而是通过GRE相关函数查询可用的库。这种是最好的方式,只要定义GRE_HOME为当前一个可用的gecko sdk的目录。这种方式下,还可以定义XPCOM_GLUE,强制在编译时依赖frozen的接口。
阅读(1324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~