Ne kadar basit bir yönerge ile OS kontrol edebilirim?
Benim kod üzerinde derlenmesi işletim sistemine bağlı olarak farklı şeyler yapmak istiyorum. Böyle bir şey arıyorum:
#ifdef OSisWindows
//define something for Windows
#else
//define it for a Unix machine
#endif
Bunu yapmanın bir yolu var mı? Daha iyi bir şekilde aynı şeyi yapmak var mı?
CEVAP
Predefined Macrossite kontrolleri tam bir listesi vardır. İşte bunlardan birkaçı:
Windows
Visual C docs, en yaygın olanları şunlardır: alınan
Hem 32 bit ve 64 bit _WIN32^ br .
_WIN64 64 bit sadece
Unıx (Linux, *BSD, Mac OS X)
Bu onay kutusunu kullanarak tuzaklar bazı related question bunu görüyor.
unix^ br .
__unix^ br .
__unix__
Mac OS X
__APPLE__^ br .
__MACH__
Hem tanımlanır; ya kontrol çalışması gerekir.
Linux
http://www.faqs.org/docs/Linux-HOWTO/GCC-HOWTO.html
__linux__
FreeBSD
http://www.freebsd.org/doc/en/books/porters-handbook/porting-versions.html
__FreeBSD__

Nasıl bir MySQL değer bir tamsayı olup...
Nasıl bir sıfır pozitif ya da negatif ...
Nasıl bir numara sonsuza değerlendiril...
Nasıl C <dize> belirli bir dize ...
Nasıl bir ağ bağlantısı için kontrol e...