PostgreSQL Programmer's Guide | ||
---|---|---|
Prev | Chapter 11. 動的ロード関数のリンク | Next |
DEC OSF/1 では、正しいオプションを指定して ld コマンドを実行する ことで、単純オブジェクトファイルと共有オブジェクトファイルを作 ることができます。 これを実行するコマンドは次のとおりです。
# simple DEC OSF/1 example % cc -c foo.c % ld -shared -expect_unresolved '*' -o foo.so foo.o結果としてできる共有オブジェクトファイルは Postgresにロードできるように なります。 関数生成コマンドに対してオブジェクトファイル名を指定する時には、 単純オブジェクトファイルではなく、共有オブジェクトファイル (拡 張子が .so ) を指定しなくてはなりません。
もし、あなたの指定するファイルが共有オブジェクトでないと、バックエンド はハングアップするでしょう!TIP: 事実上、 Postgres は 共有オブジェクトファイルに対してどんな名前が付けられようと関知しません。 あなたが共有オブジェクトファイルの拡張子として .o を付けたいのであれば、 正しいファイル名が関数生成コマンドに与えられる限り、 Postgresはそれを受け入れます。 要するに、つじつまを合わせなさいということです。 しかし、現実的な観点からすれば、どれが共有オブジェクトファイルにしたも のかについて、きっと混乱することになるので、こういう方法は勧められません。 たとえば、オブジェクトファイルと共有オブジェクトファイルの名前が両方とも .o で終るとすると、リンク処理を自動で行なうような Makefile を書くの はとても大変です!
Prev | Home | Next |
動的ロード関数のリンク | Up | SunOS 4.x, Solaris 2.x and HP-UX |