回覆列表
  • 1 # ufhin37334

      建立動態連結庫:  

    1、生成module檔案,也就是.o檔案。這跟一般的Linux沒什麼區別。  cc -c a.c b.c 就得到a.o和b.o  

    2、用ld來合併.o檔案  ld -r -o c.o a.o b.o 這個也沒什麼特別。  

    3、用libtool來建立動態連結庫。  libtool -dynamic -o c.dylib a.o b.o ( 這裡也可以用libtool -static -o c.a a.o b.o就建立靜態庫)  如果用gcc直接編譯,linux下一般是:  gcc -shared -o c.so a.c b.c  而在Mac OS X下需要:  gcc -dynamiclib -o c.dylib a.c b.c  這往往也是向Mac OS X移植unix程式常出問題的地方。如果用autoconf/automake等工具,出錯的機率應該小一些。  訪問動態連結庫:  1、nm是最常用的,這個用法跟linux下差不多  nm c.dylib 可以看到匯出符號表,等等。  2、另一個常用的工具是otool,這個是Mac OS X獨有的。比如想看看c.dylib的依賴關係  otool -L c.dylib  對Framework的理解:  Framework是Mac OS X下必不可少的部分,不妨去看看/System/Library/Frameworks/下面,一大堆Framework。Framework是dylib的進一步演化,它把標頭檔案、文件、動態連結庫等整合成一個有機的目錄,類似一種自描述的方式,這種做法其實在Mac OS X下隨處可見。比如應用程式,一般都是一個目錄,譬如/Applications/iTunes.app目錄對應應用程式iTunes,雙擊這個目錄即開始執行。這種做法和Windows下常見的一個exe/dll打天下很不相同。  Framework的建立工具也是libtool,詳細用法參考man。  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  這裡介紹一下怎麼開發最簡單的Cocoa程式,這個程式實在是太簡單,因為如果你用Xcode的話,選用Cocoa Foundation Command Tool的話,應該不用寫任何程式碼, 但是這裡是為了向大家介紹一下,這個最簡單的程式是如何透過gcc編譯成功的,當然裡面還有一個東西可以做一點解釋.    先看看原始碼:  #import

  • 中秋節和大豐收的關聯?
  • 狗狗吃番茄醬怎麼辦?