2

私は最近、D プログラミング言語で GtkD を使用してネイティブ アプリケーションを作成しています。必要なファイルをすべてダウンロードし、すべて実行したので、サンプル アプリをコンパイルして作成できます。

私の質問は、一部のガイドでは、使用しているプラ​​ットフォームで GtkD をコンパイルするように指示されているということですが、ポイントは何ですか? コンパイルすると、Windows では 1 つの lib ファイル (GtkD.lib)、Linux では 3 つの lib ファイル (末尾が *.a) になります。これらのファイルは何のためにあり、どのように使用されますか? 私が言ったように、これらのファイルで何もしなくてもすべてが機能しているようです。

これらを静的にリンクできると思いますか?しかし、それは何のためですか?毎回 GtkD ソースをコンパイルするのを避けるには? 私は実際にステートメントを使用してそれを試しpragma('lib', 'GtkD.lib')ましたが、何もしなかったようです。

誰でもこれに光を当てたり、これらのファイルが必要な理由を説明したりできますか?

4

2 に答える 2

3

はい、毎回 GtkD ソースをコンパイルするのを避けるためです。

pragma(lib, "GtkD");ではなく使用してみてくださいpragma('lib', 'GtkD.lib');

わたしにはできる。

于 2012-06-05T21:54:29.837 に答える
2

インポートされたソース ファイルはコンパイルされず、シンボル名と関数シグネチャ (およびテンプレート) についてのみ解析されます。

ライブラリを作成することは、再構築する必要があるたびにライブラリ全体を再コンパイルする必要を回避することであり、コンパイラはインポートに .di ファイルのみを使用できます

これは、コンパイルに時間がかかった昔に由来し、現在ではライブラリをクローズドソースに保つために使用できます

于 2012-06-05T21:55:51.013 に答える