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


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

Re: preprocessor idea

From Robert Klemme <shortcutter@googlemail.com>
Newsgroups comp.lang.java.programmer
Subject Re: preprocessor idea
Date 2011-10-11 21:57 +0200
Message-ID <9fjlcpFdmU1@mid.individual.net> (permalink)
References <j721b6$dam$1@online.de>

Show all headers | View raw


On 10/11/2011 08:19 PM, Philipp Kraus wrote:

> I use within my Java code different external libraries (DLL), so I have
> create a string array with their names
> so the libraries can be load with System.load / System.loadLibrary.

That's the wrong approach IMHO: make the interface classes load the DDL 
they need at class load time (e.g. in a static initializer block).  This 
best fits the Java model of dynamically deciding what code to use.

> I build the libraries (C++ code) with a toolchain and I use a lot of
> preprocessor commands within
> the C++ code, so I can enable or disable some function and so the using
> of the libraries eg: >
> Thanks
>
> Phil
>


Why do you want to decide this in C++ land?

> c++:
> #ifdef lib1
> #endif
>
> #ifdef lib2
> #endif
>
> So my Java code must load lib1 and lib2 if both defs are set. 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"}). Do you know any
> idea for this problem?

Again, IMHO this is the wrong approach: you should create your libraries 
with all the functionality you need and only determine via Java classes 
which are used or not used what DLLs are loaded and used.

If you really want to make the decision in C++ land you could use your 
preprocessor to have different variants of a JNI method which returns 
information which lets you determine in Java which DLL's to load.  You 
could have a native method which returns a String[] with DLL names etc.

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