独行将军

关于autoconf衍生的东西

  要想只编写一次代码却要处处可使用时,就有了可移植性问题,有好多方法可以去解决,然而就目前为止却大部分都与具体语言有关,比如JAVA用自己的虚拟机去解决可移植性问题。而C则用很多相互补充的手段,譬如源代码中的#if条件编译,如autoconf工具的使用,等等。这个问题之所以复杂就在于各种机器的体系结构不一样,导致代码编译环境不一样,编译出的二进制文件也随机器而不同。不管怎样,这个问题还是要解决的,我这里只想说一下autoconf这个工具相关的东西。

  查阅相关资料,(linux环境)autoconf是最早有效解决可移植性问题的工具,它可以自动配置源代码包,同时生成configure配置脚本,在以后编译源代码时只需要运行configure这个文件即可。当在源代码顶级目录下运行 ./configure的时候,就是相当于在检查编译环境,并据之配置源代码包,(因此用户只需使用configure即可,有些机器直接就不自带autoconf工具了)再次运行make进行编译即可。

如想编译源代码并安装,则步骤如下:

./configure(在源代码顶级目录下)

make

sudo make install(最好或则说是一定要用root权限安装,这样的安装可以让所有用户都使用,否则只是安装在了单个用户的home目录下)

注,以上是在linux环境上,具体OS版本是Ubuntu10.04

以上若有问题,请大虾帮忙指正,3Q!!!

posted on 2011-01-31 10:29  独行将军  阅读(246)  评论(1)    收藏  举报

导航