开发环境 : 库, 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 )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
静态库(.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 )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
相关文章推荐
- Morse Code-神奇而朴实的摩斯电码
- 从B树、B+树、B*树谈到R 树
- 学习进度条(第二周)
- linux高级IO之readv/writev
- GCC 编译 参数
- Hello World!
- 关于wamp2.5系统找不到指定文件的一个解决办法
- Please read “Security” section of the manual to find out how to run mysqld as root!错误解决(转)
- Java之 将程序打包成jar包
- Unity3D 5 官方教程:标准着色器
- JAVA学习笔记03
- Rescue
- swift:swift与oc代码互相调用
- java中静态代码块的用法及其与静态方法的区别
- FTP服务器项目的一些整理
- FTP服务器项目的一些整理
- windows安装Ubuntu
- Java观察者设计模式
- 【GDKOI2016】D2T1染色大战
- JavaScript绑定事件