[Last Call] Learn how to a build a cloud-first strategyRegister Now


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

Posted on 2008-11-12
Medium Priority
Last Modified: 2013-12-14
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,

Question by:mrpc_cambodia

Accepted Solution

Wouter_ earned 100 total points
ID: 22947940
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.

LVL 16

Assisted Solution

by:George Tokas
George Tokas earned 100 total points
ID: 22948872
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.

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following diagram presents a diamond class hierarchy: As depicted, diamond inheritance denotes when two classes (e.g., CDerived1 and CDerived2), separately extending a common base class (e.g., CBase), are sub classed simultaneously by a fourt…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
Suggested Courses

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question