प्रश्न बहुत अस्पष्ट है, मुझे लगता है कि आपका मतलब है "विभिन्न .c
फ़ाइलों में फ़ंक्शंस को अलग कैसे करें और आईडीई को सबकुछ संकलित करें"। अगर मैं गलत हूं (उदाहरण के लिए आपका मतलब है "आईडीई से .c
फाइलों में परिभाषित कार्यों का उपयोग कैसे करें"), बस मुझे टिप्पणियों में बताएं और मुझे अपना जवाब अपडेट/डिलीट करने में खुशी होगी।
सामान्य तौर पर, आप दो अलग-अलग .c
फ़ाइलें (जैसे कि, A.c
और B.c
) में कार्यों को परिभाषित करना चाहिए, और इसी हेडर में अपने प्रोटोटाइप डाल (A.h
, B.h
, include guards याद)।
जब भी .c
फ़ाइल में आपको किसी अन्य .c
में परिभाषित कार्यों का उपयोग करने की आवश्यकता है, तो आप संबंधित शीर्षलेख #include
करेंगे; तो आप सामान्य रूप से कार्यों का उपयोग करने में सक्षम होंगे।
सभी .c
और .h
फ़ाइलों को आपके प्रोजेक्ट में जोड़ा जाना चाहिए; यदि आईडीई आपको पूछता है कि उन्हें संकलित करना है, तो आपको संकलन के लिए केवल .c
चिह्नित करना चाहिए।
त्वरित उदाहरण:
Functions.h
#ifndef FUNCTIONS_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
/* ^^ these are the include guards */
/* Prototypes for the functions */
/* Sums two ints */
int Sum(int a, int b);
#endif
Functions.c
/* In general it's good to include also the header of the current .c,
to avoid repeating the prototypes */
#include "Functions.h"
int Sum(int a, int b)
{
return a+b;
}
main.c
#include "stdio.h"
/* To use the functions defined in Functions.c I need to #include Functions.h */
#include "Functions.h"
int main(void)
{
int a, b;
printf("Insert two numbers: ");
if(scanf("%d %d", &a, &b)!=2)
{
fputs("Invalid input", stderr);
return 1;
}
printf("%d + %d = %d", a, b, Sum(a, b));
return 0;
}
स्रोत
2011-02-26 17:58:47
अपने आईडीई क्या है? – Simon
मुझे नहीं लगता कि यह संभवतः किसी भी योनर कैसे हो सकता है। क्या आपने अभी तक कुछ भी कोशिश की है? क्या आप सी भाषा जानते हैं? क्या आप जानते हैं कि हेडर क्या है? –
ऑफ मौके पर आपको इस बारे में पता नहीं है: सी आमतौर पर संकलित किया जाता है, जबकि * उन्हें कॉल करने के लिए "कॉल [आईएनजी] फाइलों" के बारे में बात करते समय * एक व्याख्या की गई भाषा को महसूस होता है। संकलित भाषाओं के लिए वर्कफ़्लो व्याख्यात्मक भाषाओं के लिए उससे थोड़ा अलग है (हालांकि कई आईडीई आपके द्वारा अंतर छुपाएंगे)। – dmckee