C++ Considerations for Multi-Device Applications

From RAD Studio
Jump to: navigation, search

Go Up to Considerations for Multi-Device Applications

Stack Alignment Issue on macOS

For macOS applications, all memory data must be stack-aligned on 16-byte boundaries:

Available C/C++ Header Files

RAD Studio provides separate C/C++ header files for different target platforms. These files are located in the $(BDS)\include standard search path.

To use header files from an SDK search path, see Add Remote Path Item or Edit Remote Path Item. For example, on macOS you can add the OpenGL and GLUT libraries, as described in the code example OpenGL Multicolor Tetrahedron (C++). You can manage your SDKs from Tools > Options > Environment Options > SDK Manager.

For Windows

The header files for 32-bit Windows and 64-bit Windows are located in $(BDS)\include\windows.

Subdirectory in
$(BDS)\include\windows
Description
   \crtl C/C++ RTL header files (.h). For more information see C Run-Time Library Reference.
   \fmx FireMonkey machine generated header files (.hpp)
   \rtl Delphi RTL machine generated header files (.hpp)
   \sdk Microsoft Windows SDK header files (.h)
   \vcl VCL machine generated header files (.h and .hpp)

For macOS

The header files for macOS are located on the development PC in $(BDS)\include\osx.

Sub-directory in
$(BDS)\include\osx
Description
   \fmx FireMonkey machine generated header files (.hpp)
   \rtl Delphi RTL machine generated header files (.hpp).

For iOS

The header files for iOS are located on the development PC in $(BDS)\include\ios.

Sub-directory in
$(BDS)\include\ios
Description
   \crtl C/C++ RTL header files (.h). For more information see iOS C RTL.
   \fmx FireMonkey machine generated header files (.hpp)
   \rtl Delphi RTL machine generated header files (.hpp).

For Android

The header files for Android are located on the development PC in $(BDS)\include\android.

Sub-directory in
$(BDS)\include\android
Description
   \crtl C/C++ RTL header files (.h). For more information see Android C RTL.
   \fmx FireMonkey machine generated header files (.hpp)
   \rtl Delphi RTL machine generated header files (.hpp).

Framework Availability on Different Platforms

<