Mac下如何用gcc编写动态库:
步骤一:vim multi.c
int add(int a,int b){
return a*b;
}
步骤二:
gcc -fPIC -Wall -c add.c //-o add.o 可以省略。因为-c 默认生成同名的.o文件。
步骤三:
gcc add.o -dynamiclib -o libmulti.dylib //这时就生成了动态库。跟linux 的区别:1.是dynamiclib。2.名字是:lib***.dylib
步骤四:
cp -rp libadd.so /usr/lib //跟linux不同,放到了/usr/lib下。
步骤五:vim test.c
#include <stdio.h>
void main(int argc,char* argv[]){
if(argc!=3){
printf("argc error");
return;
}
int i=atoi(argv[1]);
int j=atoi(argv[2]);
printf("sum=%d\n",add(i,j));
}
步骤六:gcc test.c /usr/lib/libmulti.dylib -o test //要指出库,否则报错。