-3

私は本「C++ Primer」第 5 版を読んでいて、プリプロセッサは C++ コンパイラの前に実行され、#include、#define、#ifdefs などを適切な内容に置き換えてから、制御をコンパイラ。

しかし、ファイルに直接保存されたプリプロセッサの出力を表示する cl.exe (Microsoft Compiler) の方法に出会いました。私はそれを実行し、プリプロセッサの出力ファイルを開いたとき、期待したものが見つからなかったので驚きました!

それらは非常に大きく、難読化されたコードのように見えるものが含まれていました。

C++のプリプロセッサが実際に何をするのか説明してください。

4

2 に答える 2

1

C や C++ と同じように、Java を前処理することは完全に可能です。次のようなものを使用してください:

gcc -E myjava.java > myjava.preprocesses.java

その後、マクロ展開などを心ゆくまで使用できます#if。もちろん、コンパイルには別のツールが必要であるという欠点があります。

于 2013-04-27T16:08:05.117 に答える
-2

必要なすべてのマクロを含むネイティブ C/C++ コードと連携する JNI ライブラリを展開できます。

于 2013-04-27T15:46:59.360 に答える