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

Posted on 2008-11-12
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
    LVL 2

    Accepted Solution

    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
    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

    Highfive Gives IT Their Time Back

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project ( automates most of the tasks discussed in this article. You can even fin…
    Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
    The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
    The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

    746 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

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now