मैं बिग नेर्ड रांच बुक ऑब्जेक्टिव-सी प्रोग्रामिंग का उपयोग कर रहा हूं, और यह पहले कुछ अध्यायों में सी में लिखकर शुरू होता है। मेरे कार्यक्रमों में से एक में मैंने इसे बनाया है, मैं नींद समारोह का उपयोग करता हूं। पुस्तक में उसने मुझे #include <stdio.h>
भाग के तहत रखने के लिए कहा। यह चेतावनी से छुटकारा पाने के लिए माना जाता है कि "सी 99 में फंक्शन 'नींद' की लागू घोषणा अवैध है"। लेकिन #include <stdlib.h>
डालने के कुछ कारणों से, चेतावनी दूर नहीं जाती .. यह समस्या प्रोग्राम को ठीक से चलाने से नहीं रोकती है, लेकिन मैं केवल उत्सुक था जिस पर #include
मुझे उपयोग करने की आवश्यकता थी!सी में फंक्शन 'नींद' के लिए उचित # शामिल क्या है?
उत्तर
नींद man page का कहना है कि इसे <unistd.h>
में घोषित किया गया है। क्या आपने इसे अपने कार्यक्रम में शामिल किया है?
मैंने नहीं किया था! धन्यवाद! यह सिर्फ मुझे परेशान करने वाला था, क्योंकि पुस्तक ने कहा था कि
क्या देरी बनाने के लिए नींद() फ़ंक्शन या समय() का उपयोग करना बेहतर होगा? – LandonZeKepitelOfGreytBritn
sleep
एक गैर-मानक कार्य है।
- यूनिक्स पर, आपको
<unistd.h>
शामिल करना होगा। - एमएस-विंडोज़ पर,
Sleep
<windows.h>
से है।
प्रत्येक मामले में, दस्तावेज़ों की जांच करें।
sleep(3)
unistd.h
में stdlib.h
नहीं है। अपनी मशीन की पुष्टि करने के लिए अपनी कमांड लाइन पर man 3 sleep
टाइप करें, लेकिन मुझे लगता है कि आप मैक पर हैं क्योंकि आप उद्देश्य-सी सीख रहे हैं, और मैक पर, आपको unistd.h
की आवश्यकता है।
sleep()
के लिए यह
#include <unistd.h>
होना चाहिए यह है कि क्या मैं एक पार मंच कोड के लिए उपयोग करते हैं:
#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#endif
int main()
{
pollingDelay = 100
//do stuff
//sleep:
#ifdef _WIN32
Sleep(pollingDelay);
#else
usleep(pollingDelay*1000); /* sleep for 100 milliSeconds */
#endif
//do stuff again
return 0;
}
अच्छा समाधान, उपयोगी – HCarrasko
प्लस पर्याप्त बहादुर सरल सवाल पूछने के लिए जा रहा है और मुझे बाहर की मदद करने के लिए एक। –
यदि आप किसी भी मेयर आईडीई (नेटबीन, इंटेलिजे आईडीईए, ग्रहण) का उपयोग करते हैं। किसी भी फ़ंक्शन का नाम टाइप करें, फिर Alt + Enter यह लाइब्रेरी को स्वतः आयात करेगा। – T04435