linuxとC 共有ライブラリ

急にLinuxでCを書き始めたのは普通のLinuxプログラミングを買ったからだったりする。
だめだ。「普通の」はじまりの本を無条件に買ってしまったような気が・・・。

その2 共有ライブラリ

○libshared.h

int hello(char *buf);

○libshared.c

#include <stdio.h>
#include "libshared.h"

int hello(char *buf)
{
printf("hello! %s\n",buf);
return 1;
}

○sharedmain.c

#include <stdio.h>
#include "libshared.h"

int main(int argc,char **argv)
{
hello("xxx");
}
gcc -shared libshared.c -o libshared.so

ライブラリをコンパイル

gcc sharedmain.c -o sharedmain ./libshared.so

呼び出し側をコンパイル

./sharedmain

あとは呼び出す。