2010-03-29 13 views
5

क्या कोई Win32 लिनक्स हेडर फ़ाइल के बराबर है? मैं विंडोज पोर्ट के लिए एक लिनक्स पर काम कर रहा हूं (और मेरी पहली बार ऐसा कर रहा है) और यह इस फाइल पर असफल रहा है।विंडोज <sys/file.h> समकक्ष

+0

मिनजीडब्ल्यू प्रदान करता है, हालांकि यह अनिवार्य रूप से केवल पर इंगित करता है ... – susmits

उत्तर

4

WIN32API ऐप्स लिखते समय आप आमतौर पर #include <windows.h> - जिसमें आपके एप्लिकेशन में अधिकांश विंडोज एपीआई शामिल है। यदि आपको इनमें से कुछ पर कटौती करने की आवश्यकता है, तो #define WIN32_LEAN_AND_MEAN विंडोज पुस्तकालयों की कुछ अधिक अस्पष्ट चीज़ों को मिटा देगा।

आप किस कार्य को बदलने की कोशिश कर रहे हैं? यह शायद WIN32 पर एक अलग फ़ंक्शन का उपयोग करने का मामला होगा; यह लिनक्स/यूनिक्स/पॉज़िक्स से बहुत अलग है।

उदाहरण: ReadFile() फ़ंक्शन सामान्य विचार के संदर्भ में लगभग read() के बराबर है, लेकिन कॉलिंग हस्ताक्षर बहुत अलग हैं। ReadFile() के MSDN प्रविष्टि का कहना है:

हैडर: WinBase.h (windows.h शामिल)

1

आप विंडोज के लिए पोर्टिंग रहे हैं, तो यह मंच मानकों को पार करने के रहना काफी आसान हो जाएगा डाइविंग से सीधे एक देशी खिड़कियों एपीआई पोर्ट (एला CreateFile) में डाइविंग से।

मुझे नहीं पता कि कार्यक्षमता क्या है, यह POSIX मानक शीर्षलेख फ़ाइलों के अपने हिस्से की तरह दिखती है, लेकिन मुझे पॉज़िक्स स्रोतों में इसका संदर्भ नहीं मिल रहा है।

कुछ निर्माण वातावरण हैं जिनका उपयोग आप पोर्ट लिनक्स/यूनिक्स अनुप्रयोगों को विंडोज़ में कर सकते हैं।

  • तो फ़ाइल आईओ जैसी चीजों के लिए सी मानक पुस्तकालय के लिए अपने आवेदन लाठी, देव स्टूडियो देशी रूप है कि के सबसे समर्थन करना चाहिए। <stdio.h> उदाहरण के लिए fopen जैसी चीजें हैं।
  • MinGW उपकरण का एक सेट प्रदान करता है, लेकिन माइक्रोसॉफ्ट सी-रनटाइम का उपयोग करता है, इसलिए pthreads जैसी चीजें गायब होनी चाहिए।
  • Cygwin एक बहुत अधिक अनुरूप पॉज़िक्स निर्माण पर्यावरण है।
  • SUA माइक्रोस्कोफ्ट की पेशकश है।
0

पोस्टरिटी के लाभ के लिए, <sys/file.h> निम्न-स्तरीय फ़ाइल I/O रूटीन का बीएसडी संस्करण है। आपके कंपाइलर स्थापना और पर्यावरण के निर्माण के आधार पर, आप शायद इसके बजाय <fcntl.h> चाहते हैं। अधिकांश सामान्य I/O दिनचर्या <stdio.h> में हैं, यहां तक ​​कि setvbuf() जो बहुत कम स्तर का नियंत्रण है। यदि आप I/O रूटीन/सेटिंग्स चाहते हैं जो आमतौर पर लिनक्स (या अन्य * एनआईसीईएस) के अंतर्गत मौजूद नहीं हैं, तो आप <windows.h> या <conio.h> चाहेंगे।

संबंधित मुद्दे