Berkeley CSUA MOTD:Entry 36678
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/07/09 [General] UID:1000 Activity:popular
7/9     

2005/3/14-16 [Computer/SW/Compilers] UID:36678 Activity:nil
3/14    We have this licenced proprietary C++ library but no source, just
        a dynamicaly-linked library and the .h file.  We have some C++ code
        that calls the library.  I'd like to be able to call this closed-source
        library from within Java.  Since I already know how to call its
        functions, can I just use System.loadLibrary("Proprietry"); to access
        this library, or do I have to make a seperate C++->Java wrapper using
        say JNI?
        \_ You have to write some JNI wrappers.  There's special code on
           both the Java side and the C side to make JNI work.  (Unless, of
           course, they have some JNI wrappers included.  Look for .java or
           .class files.) -jrleek
           \_ They have no Java wrappers and are out of business.  I guess
              I know my next project...
              \_ Well, first, make sure their libraries were compiled with
                 the same compiler as your JVM.  If it's Sun's JVM on
                 linux, it's gcc.  In order to work with Sun's JVM, the
                 library needs to have been compiled with gcc, or icc 8.1
                 or later.  Another possibility for an earlier version of
                 icc is Jrocket. -jrleek
                 \_ Presuming their libraries are compiled with some old wierd
                    obsolete compiler, if I make a JNI wrapper (in C++) for
                    their code and compile it with the right compiler, will I
                    be able to call my wrapper from Java?  Or are we screwed?
                    \_ You are very likely screwed.  Wierd stuff can happen
                       if your C++ compilers are not binary compatiable.
                       Although you may get lucky.  In my experience
                       linking gcc compiled JNI with an icc 8.0 library,
                       everything was cool as long as the library didn't
                       throw an exception. If an exception was thrown,
                       everything always crashed. No matter who threw the
                       exception or from where or who was supposed to
                       catch it.  Java can be touchy. -jrleek
                       \_ It's even worse.  If it's not the same compiler /with
                          the same options when you compile/ you're probably
                          out of luck.  -emarkp
                          \_ We have in-house C++ code that calls this old
                             library just fine when compiled with (I think)
                             the MSFT compiler.  If I compile my JNI wrapper
                             with the same compiler, shouldn't that also work?
                             This funky library just sits there processing
                             input data and never throws exceptions.
                             \_ If I may make an architectural suggestion,
                                I believe that you shouldn't be utilizing
                                JNI to call this library. Instead, I believe
                                that you should utilize CORBA and write a
                                wrapper around your library in that fashion.
                                This is especially relevant if you plan on
                                utilizing this library in the future. I realize
                                that this may be a performance hit. Again,
                                use best judgement given time/performance/etc.
                                Just a suggestion.
                             \_ It might work out for you then.  I'm pretty
                                sure the JNI on windows is compiled with
                                the MSFT compiler.  I can't really say
                                though.  I'm niether a C++ or windows
                                guru. -jrleek
                             \_ If that works, then, in the worst case, you
                                should be able to write a pure C wrapper
                                on the C++ code, compile the wrapper with
                                VC++, call the C wrapper in your JNI layer
                                and compile the JNI stuff using another
                                compiler.
2025/07/09 [General] UID:1000 Activity:popular
7/9     

You may also be interested in these entries...
2014/1/14-2/5 [Computer/SW/Languages/C_Cplusplus] UID:54763 Activity:nil
1/14    Why is NULL defined to be "0" in C++ instead of "((void *) 0)" like in
        C?  I have some overloaded functtions where one takes an integer
        parameter and the other a pointer parameter.  When I call it with
        "NULL", the compiler matches it with the integer version instead of
        the pointer version which is a problem.  Other funny effect is that
        sizeof(NULL) is different from sizeof(myPtr).  Thanks.
	...
2013/4/29-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Compilers] UID:54665 Activity:nil
4/29    Why were C and Java designed to require "break;" statements for a
        "case" section to terminate rather than falling-through to the next
        section?  99% of the time poeple want a "case" section to terminate.
        In fact some compilers issue warning if there is no "break;" statement
        in a "case" section.  Why not just design the languages to have
        termination as the default behavior, and provide a "fallthru;"
	...
2012/12/18-2013/1/24 [Computer/SW/Languages/Perl] UID:54561 Activity:nil
12/18   Happy 25th birthday Perl, and FUCK YOU Larry Wall for fucking up
        the computer science formalism that sets back compilers development
        back for at least a decade:
        http://techcrunch.com/2012/12/18/print-happy-25th-birthday-perl
        \_ I tried to learn Perl but was scared away by it.  Maybe scripting
           lanauages have to be like that in order to work well?
	...
2011/3/7-4/20 [Computer/SW/Languages/C_Cplusplus] UID:54056 Activity:nil
3/7     I have a C question.  I have the following source code in two identical
        files t.c and t.cpp:
                #include <stdlib.h>
                int main(int argc, char *argv[]) {
                  const char * const * p1;
                  const char * * p2;
	...
2010/1/22-30 [Computer/HW/Laptop, Computer/SW/OS/OsX] UID:53655 Activity:high
1/22    looking to buy a new development laptop
        needs ssdrive, >6 hr possible batt life, and runs linux reasonably
        Anyone have a recommendation? Thx.
        \_ thinkpad t23 w ssdrive and battery inplace of drive bay
        \_ Ever wondered what RICHARD STALLMAN uses for a laptop?  Well,
           wonder no more!
	...
2010/1/12-29 [Computer/SW/Apps/Media] UID:53627 Activity:kinda low
1/12    How do I get a job NOT related to internet DNS social network cloud
        twitter GOOG EC2 amazon API ???
        \_ A CS job not related to API?
        \_ Chip design, or maybe software that does chip design. What is
           your major? How about game developer?
        \_ DNS? DNS? What era ado you live in? I agree that social network
	...
2009/8/31-9/9 [Computer/SW/Compilers] UID:53312 Activity:nil
8/31    I'm trying to learn ActionScript, like a step by step tutorial.
        The site at http://www.actionscript.org/resources/categories/Tutorials/Flash/Beginner
        isn't well organized. It doesn't explain how to get started with
        an editor, compiler, IDE. And should I even learn AS2 when you can
        learn AS3? Is Adobe Flash CS4 >>> CS3 or just CS4 > CS3?
	...
2009/5/6-14 [Computer/SW/Languages/Perl, Computer/SW/Languages/Web] UID:52961 Activity:kinda low
5/6     I'm sure you've seen web sites that distribute software by making
        a user fill out a form and then e-mailing the user a randomly
        generate link to the software that works just once. What software
        is used to do this? I'd like to distribute software in such a way.
        \_ "Software"?  What web server/web application environment
           are you using?
	...
2009/2/28-3/11 [Computer/SW/Compilers] UID:52661 Activity:nil
2/28    I'm looking for a recommendation of a compiler/IDE to use to
        develop C/C++ code under Linux. In school, we used jove/gcc and
        I still use emacs/vi and gcc to this day. However, it is really
        lacking. Under Windows I tried Visual Studio and there were some
        really nice things about it, although it was so overwhelming that
        after 6 months of occasional use I still didn't really know what I
	...
2009/1/13-22 [Computer/Theory] UID:52367 Activity:kinda low
1/13    I am writing a commandline parser for a class and I could use some
        tips for algorithms to use. (The project is over and done so I am
        not cheating, but I am dissatisfied with my end result.) I STFW and
        didn't come up with too much I liked. I read the source for some
        shells like tcsh and that is *WAY* too complicated and relies on
        a lot of other code. I know that browsers and other apps have
	...
2008/6/9-12 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Security] UID:50194 Activity:nil
6/8     CSUA code guru please help. I need to see my random number
        generator with a good seed (I just need random 18 bit
        identifiers). The usual time(NULL) is OK, except my program
        might be invoked faster than once a second, and seeding using
        time() produced the same result. I tried clock() but it seems
        to return 0. My program needs to be run in Linux/DOS (Watcom
	...