目标代码(object code)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。目标文件(object file)即存放目标代码的计算机文件,它常被称作二进制文件(binaries)。目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。[2]目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。目标文件中唯一的要素是机器代码,例如,用于嵌入式系统的目标文件可能仅仅含有机器代码。
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。
.代表当前目录
下面是另一种方法,把我们制作的库函数,直接拷贝到/usr/bin目录下面
制作动态库
动态库这点和静态库不一样必须使用cp命令这一行,这也进一步说明了动态库在程序运行时是需要的。
接下来我们在进行测试看看
发现删除了动态库后不能执行了!!!!,这也进一步说明了动态库在程序运行时是需要的!!!
gcc -c test.c -o test.o 共有三个参数,这三个参数的位置可以相互调换的!!!每个横线看做一个参数