FreeBSD可执行程序格式(2)
2009-05-13 13:35:54来源:未知 阅读 ()
$ cc -o a2 hello.c
$ ls -l a1 a2
-rwxr-xr-x 1 wb wheel 45017 Apr 18 16:26 a1
-rwxr-xr-x 1 wb wheel 2540 Apr 18 16:27 a2
在FreeBSD下,共享库被放到/etc/ld-config设定的目录下,通常为 /usr/lib,每个库文件使用.so和库的版本号结尾。例如,libc.so.3.1为一个标准C库函数的动态共享库文件。对于a.out格式的执行文件,其动态库文件位于/usr/lib/aout目录下。
可以使用程序ldd来确定一个程序使用的动态连接库:
bash-2.02$ ldd /usr/bin/vi
/usr/bin/vi:
libcurses.so.2 => /usr/lib/libcurses.so.2 (0x2808e000)
libtermcap.so.2 => /usr/lib/libtermcap.so.2 (0x2809a000)
libc.so.3 => /usr/lib/libc.so.3 (0x2809f000)
- 其他系统的执行文件
很多其他Unix系统,例如BSD/OS和Linux,也是运行在Intel平台上的系统,那么执行程序中的处理器指令是完全相同的,不同之处只在于应用程序的格式、应用程序与操作系统的接口、库文件等。事实上由于同为Unix系统,这些差异也很小,因此通过调整内核的一些参数设置,FreeBSD完全可以直接运行这些系统下的执行程序。
FreeBSD能够同BSD/OS、NetBSD和OpenBSD的Intel平台上的应用程序相兼容,同为BSD家族的成员,他们非常类似。NetBSD、OpenBSD和FreeBSD同为免费系统,并且具有同样的起源,与FreeBSD的关系非常密切,因此FreeBSD能直接运行NetBSD和OpenBSD的Intel平台下的执行程序。然而NetBSD和OpenBSD 也是自由操作系统,因此它们中的应用程序也会有相应的FreeBSD版本,因此这个功能一般很少用到。BSDI是一个商业公司,因此会提供BSD/OS下的二进制执行文件,但不提供源代码。FreeBSD能够完美的运行BSD/OS下的a.out格式的执行文件,ELF执行格式的程序也能执行,但偶尔会有问题发生,因此就需要调整系统设置。
FreeBSD也能够执行SCO Unix的执行文件,这需要使用内核的ibcs2( Intel binary compatibility system 2)选项。这需要载入一个内核可加载模块,这需要使用root身份执行ibcs2命令以载入ibcs2模块。# ibcs2
可以在rc.conf中设置 “ibcs2_enable=YES” ,使开机后立即载入这个模块。
但是要执行SCO的应用程序,仅有内核支持还是不够的,还需要有SCO Unix的函数库。但SCO Unix的库函数是SCO Unix的一部分,受版权保护的。如果使用者拥有合法的SCO共享库和应用程序,就可以运行SCO Unix上的大型商业应用程序。
同样,FreeBSD也能够运行Linux的可执行程序,与执行SCO程序类似,这也要求内核支持并载入相应的模块。rc.conf中的相应参数为 “linux_enable” 。
# linux
但是与SCO不同的是,Linux是一种自由操作系统,其库函数为GNU开发的函数库,使用GNU通用许可保护自由使用的权利。因此FreeBSD在Packages Collection中提供了Linux的共享库,安装了这些Linux的库函数之后,就可以执行Linux的执行程序了。
# pkg_add /cdrom/packages/All/linux_lib-2.6.tgz
FreeBSD也能执行Solaris x86和SCO Unixware的ELF格式执行程序,只是这个功能还没有加入正式发行版本。同样,这也需要相应的系统动态连接库文件,但是这些库是商业产品,因此使用起来就会受到限制。
- 运行Linux应用程序
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 拓扑排序程序 2009-05-13
- UNIX学习(5) 2009-05-13
- freebsd修复文件系统 2009-05-13
- (转载)FreeBSD如何搭建iPhone程序开发环境 2009-05-13
- Freebsd下程序随系统开机启动的方法 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash