soru çok muğlak, sana "nasıl çeşitli .c
dosyalarındaki işlevleri ayırmak ve IDE her şeyi birlikte derlemek için" anlamına düşünüyorum. Yanlış isem (örn Şunu "IDE kendisinden .c
dosyalarında tanımlanan işlevleri nasıl kullanılacağı"), sadece yorumlarda söyle ve G/güncellemek cevabım silmek memnuniyet duyarız. Genelde
, iki ayrı .c
dosyaları (diyelim ki, A.c
ve B.c
) içinde işlevlerini tanımlamak ve ilgili başlıklarda kendi prototip koymalıyız (A.h
, B.h
, include guards unutmayın).
.c
dosyasında, .c
numaralı belgede tanımlanmış işlevleri kullanmanız gerekiyorsa, ilgili üstbilgi #include
olacaktır; Daha sonra işlevleri normal olarak kullanabileceksiniz.
tamamı .c
ve .h
dosyaları
projenize eklenmelidir; Eğer IDE, derlenmeleri gerekip gerekmediğini sorarsa, derleme için sadece
.c
'u işaretlemelisiniz.
Hızlı örnek:
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;
}
IDE nedir? – Simon
Bunun nasıl bir vaguer olabileceğini göremiyorum. Henüz bir şey denedin mi? C dilini biliyor musun? Bir başlık nedir biliyor musun? –
Şunların farkında olma ihtimaliniz şu ki: c genellikle derlenirken, "onları kullanmak için dosyaları çağırmak" dan söz ederken *, yorumlanmış bir dil duygusuna sahiptir. Derlenmiş diller için iş akışı, yorumlanmış dillerden biraz farklıdır (birçok IDE, sizden farkı gizleyecektir). – dmckee