-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 回答