1. 平台问题
程序本身根据自身的平台 来加载适应的平台的动态库。
如
i386的程序 调用 i386的动态库
X86_64的程序 调用X86_64的动态库
所以我们编写动态库是要考虑到平台的问题
如在为safari浏览器编写插件的过程中,如果safari为x86_64的,我们就要编写x86_64的动态库。
这样程序跟动态库才能匹配的上。
查看一个库的平台可以用 file 库名
假如查出的库名的平台为x86_64、i386、pcc
而safari浏览器却为x86_64
这时,我们就要为我们的动态库开始进行廋身的命令
即 lipo 库名 -thin 平台 -output 新库名
如:aa.dylib(x86_64、i386、pcc)
lipo aa.dylib -thin x86_64 -output aa.dylib.x86_64
这样生成的 a.dylib.x86_64 就只包含x86_64的平台了
如果要调用 就把a.dylib.x86_64的x86_64去掉即可。
2.mac 调试程序打印日志
在mac下 调试程序要打印日志。
可以在程序里使用 命令的打印如:printf();
然后在命令终端启用此程序即可。 如./程序名称