静的ライブラリの作成
静的ライブラリを作成するには、次の手順に従います.
1. ソースファイルを作成して作成します.
2. gcc-cコマンドを使用して、ライブラリファイルに含める必要があるターゲットファイルを生成します.
3. ライブラリ関数のヘッダファイルを作成し、ライブラリファイルの関数を宣言します.
4. ターゲットファイルが正しいかどうかをテストします.
5. arプログラムでアーカイブファイルを作成し、ターゲットファイルを追加します.
6. ranlibコマンドで関数ライブラリのコンテンツテーブルを生成します(必須ではありません).
7. ライブラリファイルをテストします.
例:
1.billを作成します.cとfred.cファイル、内容はそれぞれ:
2.ターゲットファイルへのコンパイル:
gcc -c bill.c fred.c
3.ヘッダファイルを作成し、関数を宣言します.
4.ターゲットファイルが正しいかどうかをテストします.
gcc -c main.c
gcc -o main.o fred.o bill.o
5.arプログラムでアーカイブファイルを作成し、ターゲットファイルを追加する
ar crv libfoo.o bill.o fred.o
6.テストファイル:
gcc -o main main.c -L. -lfoo
追加:
nmコマンドを使用して、ターゲットファイル、関数ライブラリ、または実行可能ファイルに含まれる関数を表示できます.
lddコマンドを使用して、ldd mainなどのプログラムに必要な共有ライブラリを表示できます.
1. ソースファイルを作成して作成します.
2. gcc-cコマンドを使用して、ライブラリファイルに含める必要があるターゲットファイルを生成します.
3. ライブラリ関数のヘッダファイルを作成し、ライブラリファイルの関数を宣言します.
4. ターゲットファイルが正しいかどうかをテストします.
5. arプログラムでアーカイブファイルを作成し、ターゲットファイルを追加します.
6. ranlibコマンドで関数ライブラリのコンテンツテーブルを生成します(必須ではありません).
7. ライブラリファイルをテストします.
例:
1.billを作成します.cとfred.cファイル、内容はそれぞれ:
// bill.c
#include <stdio.h>
void bill(char *arg)
{
printf("bill: we passed %s
", arg);
}
// fred.c
#include <stdio.h>
void fred(int arg)
{
printf("fred: we passsed %d.
,arg");
}
2.ターゲットファイルへのコンパイル:
gcc -c bill.c fred.c
3.ヘッダファイルを作成し、関数を宣言します.
// bill .h
#ifndef BILL_H
#define BILL_H
void bill(char *);
void fred(int);
#endif
4.ターゲットファイルが正しいかどうかをテストします.
// main.c
#include <stdlib.h>
#include "bill.h"
int main()
{
bill("Hello World");
fred(10);
exit(0);
}
gcc -c main.c
gcc -o main.o fred.o bill.o
5.arプログラムでアーカイブファイルを作成し、ターゲットファイルを追加する
ar crv libfoo.o bill.o fred.o
6.テストファイル:
gcc -o main main.c -L. -lfoo
追加:
nmコマンドを使用して、ターゲットファイル、関数ライブラリ、または実行可能ファイルに含まれる関数を表示できます.
lddコマンドを使用して、ldd mainなどのプログラムに必要な共有ライブラリを表示できます.