我正在阅读“C ++ Primer”第5版,我读到预处理器是一个在C ++编译器之前运行的程序,用适当的内容替换#include,#define和#ifdefs等,然后转移控制转到编译器。
但是我在cl.exe(Microsoft Compiler)中遇到了一种方法来查看直接保存到文件的预处理器输出。我做到了,当我打开预处理器输出文件时,我很惊讶,因为我找不到我的预期!
它们非常大并且包含看起来像混淆的代码!
请解释一下C ++预处理器的实际作用。
答案 0 :(得分:1)
完全可以像处理C或C ++一样预处理Java。只需使用这样的东西:
gcc -E myjava.java > myjava.preprocesses.java
然后你可以使用宏扩展,#if
等来表达你的内心。当然,它确实有一个缺点,即编译需要进一步的工具。
答案 1 :(得分:-2)
您可以推出一个与您的本机C / C ++代码相关联的JNI库,该代码具有您所有必需的宏。