2012-04-03 1 views
6

की अंतर्निहित घोषणा मैं इन समावेशन बनाने हूँ:चेतावनी: समारोह 'मार'

#include <signal.h> 
#include <unistd.h> 
#include <sys/types.h> 
#include <sys/wait.h> 

लेकिन फिर भी इस चेतावनी हो रही है।

+2

कि क्या मंच है? – cnicutar

+3

यदि आप जिस तरह से मार रहे हैं, वह वास्तविक प्रोटोटाइप से मेल नहीं खाता है, तो यह कारण हो सकता है कि आप यह चेतावनी देख रहे हैं। – jamessan

+1

फीचर टेस्ट मैक्रो आवश्यकताएं '_POSIX_C_SOURCE> = 1 || _XOPEN_SOURCE || _POSIX_SOURCE'? –

उत्तर

8

आप संभवतः जीसीसी कंपाइलर को "-ansi -Wall" स्विच पास कर रहे हैं। यदि आपको इसकी आवश्यकता नहीं है, तो आप "-ansi" को हटा सकते हैं, अन्यथा उचित सुविधा को मैक्रो परिभाषित करने का प्रयास करें।

कुछ की तरह:

#define _POSIX_SOURCE 
#include <sys/types.h> 
#include <signal.h> 
#include <unistd.h> 
#include <sys/wait.h> 
+0

thanx मेरी वाक्यविन्यास त्रुटि को संपादित करने के लिए ... s/remote/remove/:-) – dAm2K

+0

अभी भी यह त्रुटि प्राप्त कर रहा है, मैं इसे अपने पैरामीटर को पास करता हूं: (int सिग्नल, शून्य (* हैंडलर) (int)), हैंडलर पॉइंटर से एक समारोह शून्य हो रहा है और पैरामीटर की तरह एक int स्वीकार कर रहा है। –

+0

आदेश मायने रखता है। फ़ाइल "#define _POSIX_SOURCE" फ़ाइल में आपकी पहली पंक्ति होनी चाहिए, या आपके पहले शामिल होने से पहले। – dAm2K

1

तुम भी जीसीसी के साथ इस ध्वज को जोड़कर संकलन समय पर यह निर्धारित कर सकते हैं।

-D_POSIX_C_SOURCE 

पूर्व:

-g -D_POSIX_C_SOURCE -Wall -std=c99