开发环境 : 库, FrameWork, Cocoa, Xcode

来源:互联网 发布:中海油投标软件下载 编辑:程序博客网 时间:2024/06/16 12:24

libraryof code

静态库(.a)和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中(链接时完整地拷贝至可执行文件中),程序运行时将不再需要改静态库;(包含在应用中)

而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入,因为在程序运行期间还需要动态库的存在。(在应用外)

 

(动态库链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用. 应该叫共享库,那么从这个意义上来说,苹果禁止iOS开发中使用动态库就可以理解了:1.因为在现在的iPhone,iPodTouch,iPad上面程序都是单进程的,也就是某一时刻只有一个进程在运行 . 2.沙盒封闭)

 

使用库是很麻烦的。你不仅仅需要包含库本身,还要加入所有的头文件,资源等等。苹果解决这个问题的方式是框架(framework)。基本上,这是含有固定结构并包含了引用该库时所必需的所有东西的文件夹。

 

系统的. Framework是动态库 (苹果只允许自己使用动态库)

自制的. Framework是静态库

 

框架FrameWork

FrameWork是一些类的集合,通常是一些可能一起使用的类集合.换句话说,这些类被一起编译成可复用的代码库(library of code)。所有相关的资源和代码库一起放入一个带扩展名“.framework”的目录(Mac OSX bundle 的概念可以参考苹果的一些文档).系统自带的framework可以在/System/Library/Frameworks找到

 

.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。

.a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。

.a + .h + sourceFile = .framework

 

Cocoa有3个framework组成

         1. Foundation: 所有的面向对象语言都会有一些标准结构: value , collection , String, dates,lists, thread等等.所有的这些都在Foundation framework里面(可以对比C++的STL)

         2. Appkit: 所有和用户界面相关的类都在这里. Windows,buttons,text field, event,drawing. 它还有个名字: ApplicationKit

         3. Core Data: Core Data可以方便的让你把你的对象存储成文件,或是从文件中加载你的对象.

 

Xcode

Xcode掌控应用程序中所有使用到的资源,代码,图片,声音等等.你只要在Xcode中编写代码,由Xcode来编译和运行你的程序。同时Xcode也能调用和控制调试器。

gcc作为编译器来编译代码,gdb来调试

 

Framework是一个类库;

Cocoa是三个Framework的合集;

Xcode是一个集成开发环境。

 

 

IDE 集成开发环境

集成开发环境(简称IDE Integrated Develop Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器编译器调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。


0 0
原创粉丝点击