Windows——.DLL;
Linux——.so;Mac OS X——
.dylib;
.dylib是Mach-O格式,也就是Mac OS X下的二进制文件格式。Mac OS X提供了一系列
工具,用于创建和访问动态链接库。
编译器/usr/bin/cc,也就是gcc了,Apple改过的。这个主要还是一个壳,去调用其他 的一些部件。当然同时还有/usr/bin/c++,等等。
汇编器/usr/bin/as
链接器/usr/bin/ld
Mac OS X有个自己的工具,/usr/bin/libtool,来创建动态链接库。这个libtool不是 GNU的那个同名的libtool。我记得GNU libtool可以Fink(http://fink.sf.net)下 载,编译后得到glibtool。
创建动态链接库:
1、生成module文件,也就是.o文件。这跟一般的Linux没什么区别。
cc -c a.c b.c 就得到a.o和b.o
2、用ld来合并.o文件
ld -r -o c.o a.o b.o 这个也没什么特别。
3、用libtool来创建动态链接库。
libtool -dynamic -o c.dylib a.o b.o ( 这里也可以用libtool -static -o c.a a.o b.o就创建静态库)
编译器/usr/bin/cc,也就是gcc了,Apple改过的。这个主要还是一个壳,去调用其他 的一些部件。当然同时还有/usr/bin/c++,等等。
汇编器/usr/bin/as
链接器/usr/bin/ld
Mac OS X有个自己的工具,/usr/bin/libtool,来创建动态链接库。这个libtool不是 GNU的那个同名的libtool。我记得GNU libtool可以Fink(http://fink.sf.net)下 载,编译后得到glibtool。
创建动态链接库:
1、生成module文件,也就是.o文件。这跟一般的Linux没什么区别。
cc -c a.c b.c 就得到a.o和b.o
2、用ld来合并.o文件
ld -r -o c.o a.o b.o 这个也没什么特别。
3、用libtool来创建动态链接库。
libtool -dynamic -o c.dylib a.o b.o ( 这里也可以用libtool -static -o c.a a.o b.o就创建静态库)