您的位置:首页 > 其它

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

2016-03-12 23:44 197 查看
库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 )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: