Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281897
  • 博文数量: 46
  • 博客积分: 2021
  • 博客等级: 大尉
  • 技术积分: 406
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-03 13:00
文章分类

全部博文(46)

文章存档

2011年(1)

2010年(9)

2009年(2)

2007年(13)

2006年(21)

我的朋友

分类:

2007-02-16 09:48:19

在 SunOS 4.x,Solaris 2.x 和 HP-UX 里,简单的目标文件必须通过用特殊的编译标志编译源文件来创建,并且必须生成一个共享库.在 HP-UX 里的必要的步骤如下.给 HP-UX 的 C 编译器的 +z 标志生成所谓的"位置无关码"("Position Independent Code" (PIC))然后 +u 标志废除一些 PA-RISC 体系通常要求的对齐限制.目标文件必须用 HP-UX 的连接编辑器用 -b 选项转换成共享库.这些听起来很复杂,但实际上很简单,因为处理这些的命令只是:
# simple HP-UX example
% cc +z +u -c foo.c
% ld -b -o foo.sl foo.o
类似我们上一节提到的 .so 文件,创建函数的命令必须得到装载哪个文件的正确指示(例如,你必须给出共享库的位置,或 .sl 文件).在 SunOS 4.x 里,这些命令看起来象:
# simple SunOS 4.x example
% cc -PIC -c foo.c
% ld -dc -dp -Bdynamic -o foo.so foo.o
在 Solaris 2.x 里,相当的命令是:
# simple Solaris 2.x example
% cc -K PIC -c foo.c
% ld -G -Bdynamic -o foo.so foo.o
# simple Solaris 2.x example
% gcc -fPIC -c foo.c
% ld -G -Bdynamic -o foo.so foo.o
在链接共享库的时候,你可能还要在你的 ld 命令行上声明一些附加的共享库(典型的是系统库,像 C 和 数学库).
阅读(1997) | 评论(0) | 转发(0) |
0

上一篇:邮件技术

下一篇:ASCII码对照表

给主人留下些什么吧!~~