库操作

主工程和子工程的引用关系

  1. 子工程引用主工程中的文件需要在子工程的search path中加入头文件的目录
  2. 子工程引用主工程的.aframework需要在子工程的search path中同时加入库文件头文件的引用
  3. 主工程引用子工程中的文件也需要在主工程中加入头文件的目录

库之间的引用关系

一个库文件A中引用了另一个库文件B,当一个工程引用了库文件A时,只需要引入A的库文件、B的库文件、A的头文件即可,不需要引入B的头文件。

这是因为,头文件只是用来在编译期间告诉编译器有某个方法,并不会编译到最终的文件中(库文件或可执行文件),所以在编译成功以后就不在需要头文件;因此这里就不在需要引入B的头文件

测试结果:

  1. 主工程A,子工程B(静态库),在主工程A中加入静态库C,设置子工程引用静态库C,这样编译的静态库B不包含静态库C,如果给第三方使用静态库B,那么需要给库文件B、库文件C、头文件B,上面的解释就是针对这种情况的库。
  2. 主工程A,子工程B(静态库),在子工程B中加入静态库C,这样编译的静态库B包含静态库C,如果给第三方使用静态库B,那么需要给库文件B、头文件B,不需要给出库C,因为库文件已经被打包到B中。

ar命令

ar命令可以修改、创建库。
ar -t *.a // 显示备存文件中所包含的文件
ar -x *.a // 自备存文件中取出成员文件
ar -rv mylib.a file1.o file2.o // 将文件插入备存文件中

ar命令
引用:http://blog.csdn.net/yqmfly/article/details/45148081

nm命令

nm用来列出目标文件的符号清单。(目标文件可以是库,也可是是可执行文件)

iOS 库操作的更多相关文章

  1. iOS 线程操作库 PromiseKit

    iOS 线程操作库 PromiseKit 官网:http://promisekit.org/ github:https://github.com/mxcl/PromiseKit/tree/master ...

  2. iOS 数据库操作(使用FMDB)

    iOS 数据库操作(使用FMDB)   iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.Plausibl ...

  3. 基于facebook-wda的iOS自动化操作实践记录

    [本文出自天外归云的博客园] 原理 对于iOS自动化操作,主要靠WebDriverAgent来完成.在Mac电脑上连接真机iPhone,运行WebDriverAgentRunner会在Mac端启动WD ...

  4. iOS数据库操作之coredata详细操作步骤

    CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...

  5. RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库

    简介 RestKit 是一个用于更好支持RESTful风格服务器接口的iOS库,可直接将联网获取的json/xml数据转换为iOS对象. 项目主页: RestKit 最新示例: 点击下载 注意: 如果 ...

  6. .NET WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)

    好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日志咱还是得记录则个.总不能上线后报bug了让自己手足无措吧,虽然不管有木有错误日志报bug都是件很头疼的事... 我们知 ...

  7. 教你写能被舒服舒服又舒服地调用的iOS库

    目录 前言 脑洞开一开 分析 整容 结语 前言 2014年过的那么快,过年又那么块,2015年又是飞快地节奏,真尼玛感觉上帝是不是无聊使用了变速外挂开启了加速模式~到现在博主都无法接受已经上班的事实… ...

  8. php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

    1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo     mysql扩展库与mysql数据库 ...

  9. mysqli扩展库操作mysql数据库

    配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...

随机推荐

  1. c c++ 函数不要返回局部变量的指针

    结论:普通的变量(非new的变量)都是系统自动分配的,在栈空间(连续分配),无需程序员操作,速度快,但是...空间有限,不适合大量数据,大量的话就需要自己new new出来的变量是处于大容量的堆空间, ...

  2. 【C语言程序】让用户输入一句话,输出这句话中每个单词含有多少个字母

      #include <stdio.h> #define N 100 //宏定义,用N表示100 int main(int argc, char *argv[]) {  ;  char s ...

  3. python之封装

    封装的主要原因是保护隐私,隔离复杂度 封装分为两个层面: 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称精简,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种分装 ...

  4. ES6_入门(6)_函数的扩展

    // 2017/7/22 /*ES6函数的扩展*/ //ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; ...

  5. 几个例子弄懂JS 的setInterval的运行方式

    这篇文章主要介绍了js的setInterval方法的用法以及示例,非常的有用,这里推荐给小伙伴们. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口 ...

  6. JS自学笔记04

    JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.nam ...

  7. pygame 笔记-2 模仿超级玛丽的弹跳

    在上一节的基础上,结合高中物理中的匀加速直线运动位移公式 ,就能做出类似超级玛丽的弹跳效果. import pygame pygame.init() win = pygame.display.set_ ...

  8. Kubernetes中的Configmap和Secret

    本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 应用场景:镜像往往是一个应用的基础,还有很多需要 ...

  9. Asp.Net Core 404处理

    在使用Asp.Net Core Mvc时 404处理整理如下 一.自带404状态处理 1.控制器视图子弹404视图 NotFoundResult,NotFoundObjectResult // // ...

  10. codeforces 13EE. Holes(分块&amp;动态树)

    E. Holes time limit per test 1 second memory limit per test 64 megabytes input standard input output ...