我遇到了我正在处理的软件问题。使用Java和Ant进行条件编译
我们正在通过JNA访问Windows系统调用,我们必须定义一些Windows结构(扩展了JNA结构的Java类)才能访问它们。
应用程序必须使用32位和64位体系结构,但结构的问题是它们中的属性会根据系统体系结构(例如从int到long)而改变。
是否有一种简单(和理智)的方式来使用ant在Java中进行条件编译a-la #ifdef?有没有其他方法来实现这种条件#ifdef?
我们正在考虑的另一种方式是创建一个通用接口,为32位和64位创建两个不同的结构,然后用一些if-else处理不同的情况。
谢谢。
+1在我之前。另外,使用if参数为您的构建目标。 – 2010-08-09 14:54:25
嗯,我真的不知道如何使用它来在编译时启用Java代码中的部分代码。我最好看看如何使用任务。 谢谢你指出我。 – 2010-08-10 07:39:18
我不熟悉#ifdef的作用。您是否试图在程序代码中将整数更改为long,具体取决于您正在编译的体系结构? – 2010-08-10 08:21:48