The 25 days of C++mas - December 13 - Migrating C++Builder Code to 64-bits

Posted by on in Blogs
On Wednesday morning, December 12, at the CodeRage 7 C++ Conference, Bruneau Babet (Embarcadero C++ R&D Engineer) presented a session showing developers how to migrate their C++Builder XE3 32-bit applications to 64-bit Windows.  Bruneau's session covered some of the differences between the Embacadero Win32 and Win64 C++ compilers, comparing keywords, macros, extensions and standards conformance for both compilers. During the session, John Thomas, Embarcadero's Director of Product Management for Developer Tools, guided the conversation to discuss the new compiler, the use of Clang, LLVM and strategies for porting existing C++ Projects and writing new code in a way that works for both Platforms. Here are a few tidbits taken from the slides used in Bruneau's presentation.  The replay of the session will appear as "watch" and "download" links on the conference session entry sometime next week.

clang and llvm

The clang compiler front end has a modular library-based architecture. It is a real-world, production quality compiler with conformance with C/C++/Objective-C and their variants.

C++Builder Win64

The new C++Builder Win64 compiler is created by combining clang and the Embarcadero/Borland extensions. With C++Builder Win64, the Embarcadero C++ team created the first Windows 64-bit back end.

  • bcc64 = clang + Embarcadero/Borland Extensions

  • -fborland-extensions compiler option


C++ Compiler Extensions to support Windows and Delphi Language

Delphi Language compatibility extensions – required to allow C++Builder developers to use Delphi reusable GUI components, RTL functions and other language features use of Delphi components (Properties, Methods, Events) and other Delphi language features including closures and enhanced RTTI:

Win64 porting items to pay attention to

  • sizeof(ptr) != sizeof(int) - Use size_t for memory size

  • _WIN32 is defined - Check for _WIN64 instead

  • Bit shifting - Watch for 32-bit constants


Watch/Download the C++Builder 64-bit Compiler Preview Video

Additional details about the 64-bit C++Builder compiler are available in the preview video.  Watch the C++ 64-bit compiler preview video on YouTube at http://www.youtube.com/watch?v=PwwMpBUoR6Y. You can also download the MP4 video file at http://cc.embarcadero.com/item/29197.  The preview video is 9 minutes long.


Try the C++Builder 64-bit compiler

The C++Builder XE3 and RAD Studio XE3 free trial downloads have been updated to include the new C++Builder 64-bit compiler.  Trial downloads are available at https://downloads.embarcadero.com/free/c_builder


Happy C++mas!

During the first 25 days of December leading up to Christmas, I will blog about the release of the C++Builder 64-bit compiler for Microsoft Windows and C++Builder XE3 support for building VCL and FireMonkey 2 applications.



About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Peter Tuesday, 18 December 2012

    Are these extensions to be contributed back to the LLVM/clang projects?

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: