मैं वर्तमान में एक क्रॉस-प्लेटफॉर्म सी एप्लिकेशन विकसित कर रहा हूं। क्या कोई कंपाइलर मैक्रो है जो केवल विंडोज़ पर संकलन के दौरान परिभाषित किया गया है, इसलिए मैं #ifdef
कुछ विंडोज विशिष्ट # शामिल कर सकता हूं?यह निर्धारित करना कि विंडोज या अन्य सिस्टम पर संकलन करना
विशिष्ट उदाहरण WinSock और बर्कले सॉकेट हेडर के बीच का चयन किया जाता है:
#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
तो बात मैं तलाश कर रहा हूँ की तरह है कि _WINDOWS मैक्रो कुछ है।
और 64-बिट Windows के मामले में क्या हुआ? मुझे लगता है कि _WIN32 केवल 32 बिट सिस्टम पर परिभाषित किया गया है, है ना? – NumberFour
32 वास्तव में इसे विंडोज के प्राचीन 16-बिट संस्करणों से अलग करने के लिए है। Win64 में उस परिभाषा को हटाने से बहुत अधिक चीज़ें टूट गईं, इसलिए इसे छोड़ने में कम परेशानी थी। –