Linux ダイナミック ライブラリ (.so ファイル) 用の hello world プロジェクトを作成しようとしています。hello.c というファイルがあります。
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
hello()
コマンドラインから gcc を使用して、をエクスポートする .so ファイルを作成するにはどうすればよいですか?
ベストアンサー1
共有ライブラリを生成するには、まず-fPIC
(位置独立コード) フラグを使用して C コードをコンパイルする必要があります。
gcc -c -fPIC hello.c -o hello.o
これによりオブジェクト ファイル (.o) が生成されます。次に、それを取得して .so ファイルを作成します。
gcc hello.o -shared -o libhello.so
編集: コメントからの提案:
使用できます
gcc -shared -o libhello.so -fPIC hello.c
それをワンステップで実現します。 –ジョナサン・レフラー
-Wall
また、すべての警告を取得し、-g
デバッグ情報を取得するようにコマンドに追加することをお勧めしますgcc
。 – Basile Starynkevitch