Linuxダイナミックライブラリ(.soファイル)用のhelloworldプロジェクトを作成しようとしています。だから私はファイルhello.cを持っています:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
hello()コマンドラインからgccを使用してエクスポートする.soファイルを作成するにはどうすればよいですか?
Linuxダイナミックライブラリ(.soファイル)用のhelloworldプロジェクトを作成しようとしています。だから私はファイルhello.cを持っています:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
hello()コマンドラインからgccを使用してエクスポートする.soファイルを作成するにはどうすればよいですか?
-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ます。–バジル・スタリンケヴィッチ