Hello again Eljay, >No, many vendors have their own compiled (.lib, .a) library format. > >Do the answers apply equally to object files (.o, .obj)...? >No. > >...and shared/dynamic libraries (.dll, .so) ? >Yes, given the C ABI caveat. > >e.g. can I replace a .so created with Sun's compiler on solaris with a gcc generated .so ? >Yes, given the C ABI caveat. I am reading up about C ABI. What is the caveat ? >Are your plug in libraries .DLL and .so files, with a C ABI? Then that >should work. I take it that the C ABIs established on most platforms pertain to dynamically linked libraries. In that case I'd prefer to deliver .DLL, .so (runtime?) etc. to my customers and use only gcc to generate them. BTW, is there a downside compared to packaging .lib, .o (static?) etc. ? >I'm not sure what you are using Java for, since Java compiles to bytecode >for a JVM. A bit more about me for context: I have been developing applications and tools for CAD/CAE for some years. I started with C (early 90's) then migrated to Java (mid 90's) to quickly prototype new algorithms and test data structures. Now it's time to deliver the results to my customers. I have managed to integrate my Java stuff into customers' applications (C/C++) using Sun's JNI. However, there are some issues - primarily customers feeling uncomfortable with an embedded JVM. Lately I've been looking into GCJ (from the wonderful GCC community :) to convert Java source to native libraries. >(In my opinion, the JVM is an operating system unto itself. On par with OS >X or Windows NT ... it just happens to be hosted on another OS. That's a >somewhat simplified view of things.) I'm neither a CS grad nor a systems developer so I'm glad you put it this way. I figured while strictly speaking a JVM may not be an OS, since one could (perhaps not efficiently today?) write a desktop using java (expose file system etc..) someone like me couldn't tell the difference !