Mac OS 下手動編譯靜態庫及Xcode中使用該靜態庫的例子(一)
阿新 • • 發佈:2019-01-05
第一部分 Mac OS 下建立靜態庫
前言
眾所周知,Mac OS實際上是基於UNIX來編寫的,因此它保留了眾多的UNIX原有的特性,就靜態庫而言,仍舊以libXXXX.a來命名。要編譯Mac下的靜態庫,方法有很多,如使用Xcode的建立和編譯,也可以直接使用命令列(可結合makefile)來建立和編譯,這裡將以命令列(可結合makefile)的方式來展開說明。
在這個例子中,將編譯出一個libperson.a的靜態庫,該靜態庫提供了ShowName函式,用於在控制檯打印出字串“Brian”。
編寫原始檔person.h
檔案的內容如下:
#ifndef __PERSON_H__ #define __PERSON_H__ void ShowName(); #endif
編寫原始檔person.c
檔案的內容如下:#include "person.h"
#include <stdio.h>
#include <stdlib.h>
void ShowName()
{
printf("Brian./n");
}
編譯出靜態庫libperson.a
$ gcc -c person.c
$ ar -r libperson.a person.o
至此,已編譯出了我們需要的libperson.a靜態庫檔案