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

Anup Som
Mon Apr 12 18:33:00 GMT 2004

Thanks Eljay,
By extension, if I stick to ansi C, can I mix gcc compiled libraries:
. with any other major compilers ? (e.g. gcc with Borland)
. on all major platforms ? (e.g. gcc with unix vendor's native compilers)

Do the answers apply equally to object files (.o, .obj) and shared/dynamic
libraries (.dll, .so) ? e.g. can I replace a .so created with Sun's compiler
on solaris with a gcc generated .so ?

Do the answers follow from some kind of formal ansi C compliance contract
(would appreciate a URL) or lack thereof ?

Finally, here is the context of my questions:
. My clients:
	. Applications - C/C++
	. Platforms - Windows, Linux, IRIX, Solaris, hp-ux, AIX ...
	. Development environments - MSVS, gcc, etc.. (native compilers)
. Me'self:
	. Algorithms - C (some Java, hope to use gcj)
	. Deliverables - plug-in libraries
	. Development environment - prefer GCC solely

yours newbie-ly,

-----Original Message-----
From: Eljay Love-Jensen []
Sent: Monday, April 12, 2004 4:50 AM
Subject: Re: library created with gcc acceptable in MS VC++ application

Hi Anup,

Presume you are using a C interface, yes, you can use a GCC DLL with MSVC
executable.  Or vice versa.

If you are using a C++ interface, my first guess is that GCC's C++ ABI is
different from MSVC's C++ ABI.  I'd be shocked if they worked together.


More information about the Gcc-help mailing list