iOS 庫操做

庫操做

主工程和子工程的引用關係

  1. 子工程引用主工程中的文件須要在子工程的search path中加入頭文件的目錄
  2. 子工程引用主工程的.aframework須要在子工程的search path中同時加入庫文件頭文件的引用
  3. 主工程引用子工程中的文件也須要在主工程中加入頭文件的目錄

庫之間的引用關係

一個庫文件A中引用了另外一個庫文件B,當一個工程引用了庫文件A時,只須要引入A的庫文件、B的庫文件、A的頭文件便可,不須要引入B的頭文件。linux

這是由於,頭文件只是用來在編譯期間告訴編譯器有某個方法,並不會編譯到最終的文件中(庫文件或可執行文件),因此在編譯成功之後就不在須要頭文件;所以這裏就不在須要引入B的頭文件測試

測試結果:.net

  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 // 將文件插入備存文件中code

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

nm命令

nm用來列出目標文件的符號清單。(目標文件能夠是庫,也但是是可執行文件)blog

相關文章
相關標籤/搜索