Şu anda çapraz platform C uygulama geliştiriyorum. Sadece Windows üzerinde derleme sırasında tanımlanan herhangi bir derleyici makro var, bu yüzden bazı Windows özgü #includes #ifdef
yapabilir miyim?Windows veya diğer sistemlerde derleme yapılıp yapılmayacağını belirleme
Tipik örnek WinSock ve Berkeley yuva başlığı arasındaki seçmektir:
#ifdef _WINDOWS
#include <winsock.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include <netdb.h>
#endif
yüzden arıyorum şey _WINDOWS makro gibi bir şeydir.
Ya 64-bit Windows durumunda? _WIN32'nin sadece 32 bit sistemlerde tanımlandığını farz ediyorum, değil mi? – NumberFour
32, Windows'un eski 16 bit sürümlerinden ayırmak için gerçekten orada. Win64'te bu tanımın kaldırılması çok fazla şey kırmıştı, bu yüzden onu bırakmak daha az zordu. –