静态库和动态库在使用上的区别
1个回答
展开全部
静态库:.a和.framework
动态库:.dylib和.framework
静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用旧有多份冗余拷贝
动态库:链接时,不复制,程序运行时系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用
需要注意的是:项目中如果使用了自制的动态库,不能被上传到appstore
模拟器的架构是x86_64,真机的架构是arm64,arm7,arm7s
终端指令真机和模拟器合并.a
cd /Users/lili/Library/Developer/Xcode/DerivedData/StaticDemo-gqjycc../Build/Products/libdev
模拟器的lib文件夹所在目录
可以借助lipo -info 静态库文件地址支持哪些平台
lipo -info staticDemo.a
is architecture:x86_64(7),i386(5)模拟器;
真机的是are armv7 arm64(5s) armv7s(iphone5c)
合并真机和模拟器静态库合并为一个静态库
lipo -create libdev/staticDemo.a libPro/staticDemo.a -output HMTool.a
lipo -create 需要合并的静态库1 需要合并的静态库2 -output 合并之后的文件夹名称
注意:虽然将真机和模拟器的静态库合并在一起之后,以后我们就不用关心当前是运行在模拟器还是真机了,但是如果在程序发布时还是建议大家使用真机的静态库
动态库:.dylib和.framework
静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用旧有多份冗余拷贝
动态库:链接时,不复制,程序运行时系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用
需要注意的是:项目中如果使用了自制的动态库,不能被上传到appstore
模拟器的架构是x86_64,真机的架构是arm64,arm7,arm7s
终端指令真机和模拟器合并.a
cd /Users/lili/Library/Developer/Xcode/DerivedData/StaticDemo-gqjycc../Build/Products/libdev
模拟器的lib文件夹所在目录
可以借助lipo -info 静态库文件地址支持哪些平台
lipo -info staticDemo.a
is architecture:x86_64(7),i386(5)模拟器;
真机的是are armv7 arm64(5s) armv7s(iphone5c)
合并真机和模拟器静态库合并为一个静态库
lipo -create libdev/staticDemo.a libPro/staticDemo.a -output HMTool.a
lipo -create 需要合并的静态库1 需要合并的静态库2 -output 合并之后的文件夹名称
注意:虽然将真机和模拟器的静态库合并在一起之后,以后我们就不用关心当前是运行在模拟器还是真机了,但是如果在程序发布时还是建议大家使用真机的静态库
云创
2023-07-25 广告
2023-07-25 广告
要找到一家更省钱的代码静态分析服务,可以考虑以下几个方面:1. 了解自身的需求和预算:首先需要了解自己的项目对代码静态分析服务的需求,以及可承受的预算范围。这将有助于缩小选择范围,找到适合自己的服务。2. 调查市场上的竞争情况:了解市场上提...
点击进入详情页
本回答由云创提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询