FreeBASIC マニュアルのトップに戻る

FreeBASIC DevObjinfo

目次→FreeBASIC のハッキング→FreeBASIC でのハッキングのための情報objinfo←オリジナル・サイト

objinfo



fbc は、生成するオブジェクト・ファイル (.o) に、追加の情報を格納して、リンク時に、この追加の情報を再び読み取ります。
現在、格納される情報は、オブジェクト・ファイルをコンパイルする時に指定された -lang/-mt セッティングと、すべてのライブラリ/検索パス (-l, #inclib, -p, #libpath) です。
異なるオプションでコンパイルされたオブジェクト・ファイルを混合する場合、それらは互換性がないかもしれないので、この方法で fbc は、警告を示すことができます。
また、ユーザが個別のステップでコンパイルしリンクしても、fbc は、自動的に #inclib を経由して指定されたライブラリで、リンクできます。

これは、コンパイル時に、「fbctinf」(FreeBASIC compile time information?)と呼ばれる追加セクションを放出して、リンク時にそれを読み返すことにより、遂行されます。
更に、fbc は、静的ライブラリをビルドするときに、まさにこの追加情報を含む、追加のオブジェクト・ファイル (__fb_ct.inf と呼ばれる) を生成して、これをライブラリに加えます。
fbc は、リンク時に、そのような __fb_ct.inf ファイルがあるかどうかを見つけ出すために、各ライブラリを見ます。

これを行うために、fbc には、カスタム COFF、ELF32、さらに .fbctinf セクションの内容を抽出できる、アーカイブ・ファイル・フォーマット・リーダ があります。
以前、fbc は、これをするために binutils から libbfd を使いました。しかし、libbfd に依存することは、その非常に不安定な ABI により、特に問題があります。

FreeBASIC の開発者用情報 に戻る
目次に戻る
ページ歴史:2012-10-11 15:39:57
日本語翻訳:WATANABE Makoto、原文著作者:DkLwikki

ホームページのトップに戻る

表示-非営利-継承