library created with gcc acceptable in MS VC++ application ?

Anup Som anup_s@depusa.com
Mon Apr 12 19:53:00 GMT 2004


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 !



More information about the Gcc-help mailing list