梦里花落0921
如何在Mac OSX 中制作dylib和使用dylib 1.首先是构建一个函数库 编辑add.c int add(int a,int b) { return a+b; } int axb(int a,int b) { return a*b; } 保存 其中两个函数 add axb 这是简单的写的,复杂的自己开发,这里主要介绍方法 2.编译函数库 gcc -c add.c -o add.o //下面是linux系统时 ar rcs libadd.a add.o //如果你是linux 就用这种库 //下面是Mac OSX gcc add.o -dynamiclib -current_version 1.0 -o libadd.dylib 得到 libadd.dylib 3.编辑testadd.c #include <stdio.h> #include <stdlib.h> #include <dlfcn.h> int main(int argc,char *argv[]) { int a,b; a=10; b=9; int c; c=add(a,b); printf(“%d\n”,c); return 1; } 保存 4.编译testadd.c gcc testadd.c -o testadd -L. -ladd ./testadd 输出19 5.编辑dladd.c #include <stdio.h> #include <stdlib.h> #include <dlfcn.h> int main(int argc,char *argv[]) { int *ab; void *h=dlopen(“./libadd.dylib”,RTLD_LAZY); ab=dlsym(h,“add”); printf(“add=address is 0x %x\n”,ab); dlclose(h); return 1; } 这个是为了查看函数库在库中的地址的 6.编译dladd.c gcc dladd.c -o dladd -ldl ./dladd add=address is 0x 23fe2