静态库和动态库
2015-08-14 16:07
239 查看
静态库
.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
.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
相关文章推荐
- Sensu 简介
- 程序员需要具备的基本技能
- 向服务器写入错误日志-log
- !Gym 100625J 狱警放两犯人的最小开门数-bfs-(优先队列+bfs,求各自到交点的距离)
- 使用NDK编译mono
- 关于云服务Bmob的使用方法(上)——上传数据
- 二进制整数的乘除运算
- HDU 5386 Cover (MUT #8 模拟暴力)
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(三)
- Libnids---编写网络应用程序的利器
- SPOJ Longest Common Substring
- CENTOS6.5安装日志分析ELK elasticsearch + logstash + redis + kibana
- Windows环境下安装Redis
- pl/sql操作关键点,都是测试通过的
- 枚举 - hdu5353 Average
- jQuery文档处理--删除
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 计算分贝与幅度关系
- ios 后台执行代码
- Java,spring程序中实时获取.properties属性key的value