![]() |
NibblePoker's Clang Goodies 1.0.0
Small collection of utilities and libraries for C in order to simplify some development tasks.
|
This page mostly concerns the platforms.h header.
Its main purpose in is to let you easily identify which compiler, OS and ISA is being targeted to potentially implement platform-specific code.
External references:
● https://sourceforge.net/p/predef/wiki/Architectures/
● https://sourceforge.net/p/predef/wiki/Compilers/
● https://sourceforge.net/p/predef/wiki/OperatingSystems/
Tested with MSVC v143 from Visual Studio Community 2022.
NP_COMPILER_MSVCWorks, but needs more testing.
NP_COMPILER_CLANGWorks, but needs more testing.
NP_COMPILER_GNUCNP_COMPILER_MINGWSupersedes:
NP_COMPILER_GNUCTested with Qt's Jom in ReactOS 0.4.14, and nmake on Windows 11 22H2
NP_COMPILER_TCCNP_COMPILER_UNKNOWNTested on Windows 11 22H2 with MSVC.
NP_OS_WINDOWSNP_ARCH_x64Tested on Windows 11 22H2 with TCC.
NP_OS_WINDOWSNP_ARCH_x86Tested via strings on Windows 11 22H2 with MSVC amd64_arm64 target.
NP_OS_WINDOWSNP_ARCH_ARMNP_ARCH_ARMv8NP_ARCH_AARCH64Tested via strings on Windows 11 22H2 with MSVC amd64_arm target.
Doesn't compile properly just yet !
NP_OS_WINDOWSNP_ARCH_ARMNP_ARCH_ARM_GENERICTested and returned NP_COMPILER_GNUC as the compiler, needs more testing.
NP_OS_CYGWINTested on ReactOS 0.4.14 x86.
NP_OS_WINDOWS *(May change in the future)*NP_ARCH_x86Tested on Kubuntu 23.10 in a VM with GCC & CLang.
NP_OS_UNIXNP_OS_LINUXNP_ARCH_x64Untested.
Tested on NanoPi R4S with Armbian (23.02.2).
NP_OS_UNIXNP_OS_LINUXNP_ARCH_ARMNP_ARCH_ARMv8NP_ARCH_AARCH64Untested, will be done soon.
NP_OS_UNIXNP_OS_LINUXNP_ARCH_ARMNP_ARCH_ARM_GENERICNP_OS_UNKNOWNNP_ARCH_UNKNOWNNP_DLL_EXPORTIf UNICODE or _UNICODE are defined, the non-suffixed text-related will have the macro pointing to their unicode variant as is expected on Windows platforms.