5
Jakie są warunki warunkowe platformy dla systemu Android, iOS, Win32, Win64 w C++ Builder? Znalazłem tylko przykłady dla Delphi.Jak warunkowo kompilować kod dla różnych platform w C++ Builder?
Jakie są warunki warunkowe platformy dla systemu Android, iOS, Win32, Win64 w C++ Builder? Znalazłem tylko przykłady dla Delphi.Jak warunkowo kompilować kod dla różnych platform w C++ Builder?
Tak zwane stałe manifestu są dokumentowane na tej help page
. Platformy wymienione tutaj:
┌─────────────┬───────┬──────────────────────────────┐
│ Macro │ Value │ Description │
├─────────────┼───────┼──────────────────────────────┤
│ _Windows │ 1 │ Windows platform │
├─────────────┼───────┼──────────────────────────────┤
│ __WIN32__ │ 1 │ 32-bit Windows platform │
├─────────────┼───────┼──────────────────────────────┤
│ _WIN64 │ 1 │ 64-bit Windows platform │
├─────────────┼───────┼──────────────────────────────┤
│ __arm__ │ │ 32-bit ARM compiler │
├─────────────┼───────┼──────────────────────────────┤
│ __arm64__ │ │ 64-bit ARM64 compiler │
├─────────────┼───────┼──────────────────────────────┤
│ __APPLE__ │ │ Apple platform │
├─────────────┼───────┼──────────────────────────────┤
│ __MACH__ │ │ MAC OSX platform │
├─────────────┼───────┼──────────────────────────────┤
│ __ANDROID__ │ │ Android platform │
└─────────────┴───────┴──────────────────────────────┘
Te makra są wewnętrznymi kompilatorami, więc nie zawierają pliku nagłówkowego. Przykład:
#if _Windows
// Windows platform
#elif __APPLE__
// Apple platform
#elif __ANDROID__
// Android platform
#else
#error Not a supported platform
#endif
Dziękuję, dziękuję! O wiele łatwiej, gdy znajdziesz właściwe słowo (słowa) do wyszukiwania! –
Nie ma za co! – TLama
Mac OS X to __MACH__. (powinny być dwa podkreślenia po obu stronach MACH, nie pogrubione) –