DLL developed in Codegear C++ builder Versus Visual Studio C++

hello experts,

I want to know is C++ DLL developed in Codegear C++ builder the same to C++ DLL developed in Visual studio C++? i want to know the differences from any perspective?

and how about consuming the DLL, i mean importing and calling functions in the dll, is there any difference?

Thanks so much,

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

C++ does not have a standard ABI (application binary interface). This means c++ code compiled with different compilers are not binary compatible.

The layout of the class, the virtual method table, name mangling, all might (and in this case are) different. There are probably more things which are different.

Even the import lib (if you want to statically link) are different in the compilers, visual studio produces static libraries in coff format while codegear does it in omf format.

C on the other hand does have an ABI. So if you only export functions and primitive types you can interface with the dll from any compiler. You need to wrap the function declarations in an extern "C" {} block to prevent name mangling. Basically you cannot use classes interoperably, just the subset of C++ which is C.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
George TokasCommented:
What I have to say is that extensive information on what you ask is covered on chapter 16 at "C++ Builder 6 Developers Guide" book....
On the other hand versions of BCB after 6 has improved compatibility with VC and the latest (2009) version is has all the upgrades...
So it depends on the version you are using at first....
The book will help you the most when an entire chapter deals with dlls

George Tokas.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.