iPhone静态库学习笔记 新手须知

移动开发 iOS
对iPhone平台来说,iPhone官方只支持静态库联编,因此下面就介绍下iPhone中静态库的用法。我们先来看内容。

iPhone静态库学习笔记 新手须知是本文要介绍的内容,我们先来看具体内容。对iPhone平台来说,iPhone官方只支持静态库联编,因此下面就介绍下iPhone静态库的用法。

一.基本知识

在实际的编程过程中,通常会把一些公用函数制成函数库,供其它程序使用,一则提搞了代码的复用;二则提搞了核心技术的保密程度。所以在实际的项目开发中,经常会使用到函数库,函数库分为静态库和动态库两种。

和多数人所熟悉的动态语言和静态语言一样,这里的所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改静态库;而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入,因为在程序运行期间还需要动态库的存在。

二.iPhone静态库使用

1.创建静态库

打开XCode新建一个项目,选择Library下的“Cocoa Touch Static Library”,在Classes文件夹上点右键选择“New File…”,然后在“Cocoa Touch Class”下选择“Objective-C class”,这样就可以创建Objective-C风格的源文件和头文件。

同样,也可以创建C或者C++风格的代码,在Classes文件夹上点右键,选择“New File…”,这次选择Mac OS X下的“C and C++”,就行。

然后在文件里编写具体的调用代码。

最后进行编译,就会产生一个以.a为结尾的文件,就是我们需要的静态库。同时我们也需要生成的.h头文件。

2.使用静态库

在需要调用静态库的工程的目录下通过右键点Frameworks->Add->Existing Files..添加之前创建的.a静态库文件,然后在需要调用静态库的函数的.h文件里,import进来和静态库中.m对应的.h头文件,并且声明静态库里的类:@class 类名,这样就可以使用静态库里的函数了。

3.联调静态库

如果单单以copy的方式包含进.a静态库,这样只能使用静态库,如果需要修改静态库里的函数,则需重新生成静态库,并将其重新包含进来,在开发阶段会显得比较麻烦。可以采用Xcode的Cross-Project Reference(跨项目参考)的方式解决。

首先把静态库的XCode项目整个包含进我们的当前项目(注意:不要选择Copy items to destination group's folder选项)。

接着和第二步一样也是包含进.a静态库(也要注意:不要选择Copy items to destination group's folder选项)。

这样就可以从我们当前的项目里直接打开静态库的项目,直接修改(注意:修改后编译前必须选择clean,清除原有的静态库,重新生成)。

附:参考链接

深入理解iPhone静态库

http://blog.csdn.net/dongfengsun/archive/2009/11/20/4840224.aspx

IPhone项目使用静态库的最佳方法:

http://www.iphone-geek.cn/编程/iphone项目使用静态库的最佳方法

小结:iPhone静态库学习笔记 新手须知的内容介绍完了,希望本文对你有所帮助,更多内容请参考编辑推荐。

责任编辑:zhaolei 来源: 博客园
相关推荐

2010-06-24 13:42:58

HART协议

2010-08-26 15:48:15

DHCP协议

2011-07-08 10:58:47

2023-09-14 15:42:39

ArkTS鸿蒙

2010-07-26 15:04:37

Telnet服务

2011-06-14 15:28:44

QT

2011-08-09 17:29:29

iPhone文件屏幕

2011-08-15 10:06:22

iPhone开发nib 文件

2011-07-27 16:36:03

iphone Objective- 静态库

2010-06-23 15:00:50

Fix协议

2011-08-10 15:36:26

iPhone静态库控件

2011-08-08 14:57:46

iPhone Autoreleas Property

2011-08-18 13:37:57

iPhone项目静态库

2011-06-16 16:52:21

MeeGo 开发

2011-08-08 15:56:18

iPhone 震动 NSUserDefa

2014-08-26 10:30:45

Linux

2024-01-22 08:20:40

Python编程语言代码陷阱

2011-08-19 11:10:31

iPhone应用

2011-08-12 09:48:24

iPhoneCoreLocatio定位

2010-06-14 19:13:28

网络通信协议
点赞
收藏

51CTO技术栈公众号