首页 > 其他 > 详细

静态库和动态库

时间:2015-08-14 17:08:35      阅读:98      评论:0      收藏:0      [点我收藏+]
静态库
.a   ->静态库    -》编译时连接的库,编译代码的时候就会把库的二进制导入编译到程序中
.dylib —》动态库 -》运行程序的时候,当调用相关函数 才会连接动态库,

.framework-》既可以是静态库也可以是动态的


1.库的功能—》1.不暴漏源码(对一大堆源码封装成二进制)2.使用简单,只需要导入库和头文件就可以使用
2.怎么制作
3.怎么使用


将一些不想暴露给使用方的实现代码打包成.a库(比如:百度地图sdk,写sdk的时候,需要使用到)

//需要创建一个静态库的工程,来实现代码逻辑,并完成对代码的打包(.a库)
//创建一个测试工程(使用.a库)(将.a库和必要的头文件导入到测试工程)

//静态库的打包(1、基于模拟器生成的.a库,此.a库是基于电脑的cpu(i386)逻辑生成,无法在真机上使用
2、基于真机生成的.a库(armv6,armv7智能手机cpu逻辑)无法在模拟器环境下使用)

//把两个静态库合成一个
//必须写出两个静态库的绝对路径
lipo -create  /ospath/libname.a /simulatorpath/libname.a -output /allInOnelibName.a

在终端 输入
合并.a
lipo -create /Users/lzxuan/Desktop/libMyControl.a /Users/lzxuan/Desktop/MyControl/libMyControl.a -output /Users/lzxuan/libMyControl.a

//-output 后面加的 目标文件的路径


=================
合并 xxx.framework

//1.首先把生成 MyFramework.framework拷贝到桌面
//2.输入下面的指令
-create 后面的路径应该是真机中MyFramework.framework/MyFramework的路径 和模拟器MyFramework.framework/MyFramework 路径
-output 后面 就是目标 刚才桌面上 MyFramework.framework/MyFramework


lipo -create /Users/lzxuan/Desktop/Debug-iphoneos/MyFramework.framework/MyFramework /Users/lzxuan/Desktop/Debug-iphonesimulator/MyFramework.framework/MyFramework -output ~/Desktop/MyFramework.framework/MyFramework

静态库和动态库

原文:http://blog.csdn.net/shuju345/article/details/47663367

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!