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
ます。–バジル・スタリンケヴィッチ