4

Delphi IDEからCコードをコンパイルする方法はありますか?

Delphiプロジェクトの一部としていくつかのCコードを使用したい(そしてそれをDLLに入れたくない)。それで、Delphi IDEで、Cコードをコンパイルできますか?おそらく、キーワードを使用してコード挿入の開始を示すことができますASMか?または、Cコードを別のユニットに配置しますが、Delphiコードからどのように呼び出すのでしょうか。

それができるのなら、どうすればいいですか?ありがとう ...


[更新] FreeBolrandコマンドラインC++コンパイラで実行できるように思えますが、最終的にCコードをDLLに入れて、静的にリンクすることにしました。私はどちらの解決策も受け入れられると思います)?)

4

1 に答える 1

11

いいえ、C コードを Delphi プロジェクトの一部としてコンパイルすることはできません。

C++ Builder を使用して C コードをコンパイル*.objし、Delphi アプリでオブジェクト ( ) ファイルをリンクして使用し{$L file.obj}、他の Delphi 関数と同じように呼び出すことができますが、C ランタイム ライブラリ関数の実装を自分で提供する必要があります。 . (crtl.pasユニット ( System.Win.crtl.pasXE2/XE3) で利用可能なものがあります。そこにないものは、自分で Delphi の置き換えを作成する必要があります)。

Zlib.pasこれを行う方法の例については、 ( System.ZLib.pasXE2/3 では)を参照して、ZLib の使用方法を確認できます。

あなたの質問へのコメントで他の人が述べたように、ビルド前のイベント設定して、プロジェクトがビルドされる直前に C コンパイラを実行できます。技術的には、実際には外部プロセスを実行しているため、それが「プロジェクトの一部としてコンパイルする」と見なされるかどうかはわかりません。ただし、その場合でも上記の情報は適用されます。

于 2012-12-13T03:43:25.573 に答える