में अमान्य है I Zed Shaw's Learn C The Hard Way शुरू कर रहा हूं। मैंने एक्सकोड और कमांड लाइन टूल्स डाउनलोड किए हैं। लेकिन जब मैं पहले ही कार्यक्रम संकलन:जीसीसी चेतावनी: फ़ंक्शन 'डाल' की निहित घोषणा C99
int main(int argc, char *argv[]) {
puts("Hello world.");
return 0;
}
मैं इस चेतावनी मिलती है:
ex1.c: 2: 1: चेतावनी: समारोह 'कहते हैं' का अंतर्निहित घोषणा C99 में अमान्य है [-Wimplicit-function-declaration]
प्रोग्राम संकलित और सही तरीके से निष्पादित करता है।
मैं ओएसएक्स 10.8.3 का उपयोग कर रहा हूं। 'gcc -v'
दर्ज करना:
अंतर्निहित चश्मे का उपयोग करना। लक्ष्य: i686-apple-darwin11 के साथ कॉन्फ़िगर किया गया: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure - अक्षम करने योग्य --enable-werror --prefix =/अनुप्रयोग/Xcode.app/सामग्री/डेवलपर /usr/llvm-gcc-4.2 --mandir =/share/man --enable-languages = c, objc, C++, obj-C++ --program-prefix = llvm- --program-transform-name =/^ [सीजी] [^ .-] * $/एस/$/- 4.2/--with-slibdir =/usr/lib --build = i686-apple-darwin11 --enable-llvm =/private/var /tmp/llvmgcc42/llvmgcc42-2336.11~182/dst-llvmCore/Developer/usr/local --program-prefix = i686-apple-darwin11- --host = x86_64-apple-darwin11 --target = i686-apple- darwin11 --with-gxx-include-dir =/usr/include/C++/4.2.1 थ्रेड मॉडल: पॉज़िक्स जीसीसी संस्करण 4.2.1 (ऐप्पल इंक के आधार पर 5658 का निर्माण) (एलएलवीएम 2336.11.00 का निर्माण)
कृपया मदद करें।
'int main (int argc, char * argv [])' का उपयोग जब तर्कों का उपयोग नहीं किया जाता है तो हल्के ढंग से मूर्ख होता है; यह 'int मुख्य (शून्य)' या यहां तक कि 'int मुख्य()' होना चाहिए। हालांकि, यह संभवतः एक और दिन के लिए बहस है। मुझे लगता है कि जीसीसी 5.x डिफ़ॉल्ट संकलन मोड के रूप में C11 ('-std = gnu11') का उपयोग करता है। 'clang' (' gcc' के रूप में masquerading) सी 99 का उपयोग करता है। सी 99 और सी 11 दोनों को सभी कार्यों की आवश्यकता होती है ('मुख्य() 'को छोड़कर) का उपयोग करने से पहले घोषित किया जाना चाहिए। –