日期:2014-05-16 浏览次数:20816 次
$ file /bin/bash /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xf199a4a89ac968c2e0e99f2410600b9d7e995187, stripped $ file /etc/init.d/rc /etc/init.d/rc: POSIX shell script, ASCII text executable
函数库由一系列函数组成,每一个函数都是一个代码片段,完成特定的功能,这样我们使用一些常用功能时,就不必 自己重新编写代码,只需要调用函数库里的函数就可以了。函数库分为静态函数库和动态函数库。
$ ldd /usr/bin/passwd linux-gate.so.1 => (0xb7784000) libpam.so.0 => /lib/i386-linux-gnu/libpam.so.0 (0xb775c000) libpam_misc.so.0 => /lib/i386-linux-gnu/libpam_misc.so.0 (0xb7758000) libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb7738000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb758e000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7589000) /lib/ld-linux.so.2 (0xb7785000)
当程序的文件数目非常大时,直接使用gcc编译会变得非常麻烦,这时,我们可以写一个文件,定义好如何编译整个程序, 这个文件即是makefile,然后再调用make命令,make命令会使用makefile完成编译。那么makefile如何产生呢,通常软件 提供者都会提供一个configure程序,用于检测机器环境,生成makefile。检测的内容包括是否有合适的编译器,是否存在 需要的函数库,操作系统版本是否合适等等。
#include <stdio.h> int