Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8924

Re: preprocessor idea

From Robert Klemme <shortcutter@googlemail.com>
Newsgroups comp.lang.java.programmer
Subject Re: preprocessor idea
Date 2011-10-17 18:53 +0200
Message-ID <9g34seFjqlU1@mid.individual.net> (permalink)
References (1 earlier) <4e94ce75$0$284$14726298@news.sunsite.dk> <9foia2FjbkU1@mid.individual.net> <4e97a33b$0$282$14726298@news.sunsite.dk> <9g127uF848U1@mid.individual.net> <4e9b93ce$0$284$14726298@news.sunsite.dk>

Show all headers | View raw


On 10/17/2011 04:32 AM, Arne Vajhøj wrote:
> On 10/16/2011 5:56 PM, Robert Klemme wrote:
>> On 10/14/2011 04:49 AM, Arne Vajhøj wrote:
>>> On 10/13/2011 12:35 PM, Robert Klemme wrote:
>>>> On 12.10.2011 01:17, Arne Vajhøj wrote:
>>
>>>>> Run the Java code through the C preprocessor with the same defines.
>>>>>
>>>>> String[] javaarray = {
>>>>> "None"
>>>>> #ifdef lib1
>>>>> ,"lib1"
>>>>> #endif
>>>>> #ifdef lib1
>>>>> ,"lib1"
>>>>> #endif
>>>>> };
>>>>
>>>> I do not think it's worthwhile to open that can of worms for this
>>>> decision. After all getting rid of the CPP is one of the major
>>>> advantages of Java over C++ (even Stroustrup regrets not having ripped
>>>> it out of C++) and complicating the Java build process just for that
>>>> decision seems too heavy - especially since there are other solutions
>>>> available.
>>>
>>> What other solution achieve the same?
>>
>> Please see elsewhere in this thread.
>
> Well - they do not seem to be on my news server.
>
> The only suggestion it carry are yours of:
> * changing the logic, which may be a good idea, but is definitely
> not the same

Do you say that because of

> Java does not support any preprocessor
> flags, but in this case I need a tip for creating a flexiable Java code during the class is compiled
> (eg: ifdef1 = true => String[] javaarray = {"lib1"})

?  Right, I took the liberty to ignore the specific requirement to 
change the Java code because I consider the ultimate task to solve to 
only load those libs which can be used.  Changing the Java code is just 
one means to that end.

> * use JNI to get the info from the native side, which will
> require approx. 10 as much code than this

Well, but the solution to use CPP for Java code will probably need a 
similar amount of code - even if it's not in Java but in ant scripts or 
Makefiles.  And it will be a dramatic change to the build process.  One 
also needs to decide whether to apply CPP to all Java files or just 
selectively to a single one.  The first option is probably cleaner from 
a build process point of view but increases the risk of bugs (i.e. if 
CPP starts replacing things in other files that it is not supposed to 
change) while the second solution is an ugly crutch IMHO.

Kind regards

	robert

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

preprocessor idea Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-10-11 20:19 +0200
  Re: preprocessor idea Robert Klemme <shortcutter@googlemail.com> - 2011-10-11 21:57 +0200
    Re: preprocessor idea markspace <-@.> - 2011-10-11 13:14 -0700
  Re: preprocessor idea Arne Vajhøj <arne@vajhoej.dk> - 2011-10-11 19:17 -0400
    Re: preprocessor idea Robert Klemme <shortcutter@googlemail.com> - 2011-10-13 18:35 +0200
      Re: preprocessor idea Arne Vajhøj <arne@vajhoej.dk> - 2011-10-13 22:49 -0400
        Re: preprocessor idea Robert Klemme <shortcutter@googlemail.com> - 2011-10-16 23:56 +0200
          Re: preprocessor idea Arne Vajhøj <arne@vajhoej.dk> - 2011-10-16 22:32 -0400
            Re: preprocessor idea Robert Klemme <shortcutter@googlemail.com> - 2011-10-17 18:53 +0200
  Re: preprocessor idea Roedy Green <see_website@mindprod.com.invalid> - 2011-10-12 07:04 -0700

csiph-web