1. 程式人生 > >Mac OS 下手動編譯靜態庫及Xcode中使用該靜態庫的例子(一)

Mac OS 下手動編譯靜態庫及Xcode中使用該靜態庫的例子(一)

第一部分 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靜態庫檔案