-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置,都可以正确的执行.这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的. gcc -shared -fPIC -o 1.so 1.c 这里有一个-fPIC参数PIC就是position independent codePIC使.so文件的代码段变为真正意义上的共享如果不加-fPIC,则加载…