Ich möchte meine C-Funktionen in 2 separate .c-Dateien schreiben und meine IDE (Code::Blocks) verwenden, um alles zusammen zu kompilieren.
Wie richte ich das in Code::Blocks ein?
Wie rufe ich Funktionen in einem auf .c
Datei aus der anderen Datei?
Generell sollten Sie die Funktionen in den beiden getrennt definieren .c
Dateien (sagen wir, A.c
und B.c
) und fügen ihre Prototypen in die entsprechenden Header ein (A.h
, B.h
erinnere dich an die gehören Wächter).
Wann immer in einem .c
Datei müssen Sie die in einer anderen definierten Funktionen verwenden .c
Du wirst #include
die entsprechende Kopfzeile; dann können Sie die Funktionen normal nutzen.
All die .c
und .h
Dateien müssen zu Ihrem Projekt hinzugefügt werden; Wenn die IDE Sie fragt, ob sie kompiliert werden müssen, sollten Sie nur die markieren .c
zum zusammenstellen.
Schnelles Beispiel:
Funktionen.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
Funktionen.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;
}
Haupt 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;
}
Die Leute müssen wissen, welche IDE Sie verwenden, um Ihnen zu sagen, wie Sie etwas darin tun können.
– J.Taylor
26. Februar 2011 um 17:54 Uhr
Ich sehe nicht, wie dies möglicherweise vager sein könnte. Hast du schon was probiert? Kennen Sie die C-Sprache? Weißt du, was ein Header ist?
– Mike Caron
26. Februar 2011 um 17:54 Uhr
Für den Fall, dass Sie sich dessen nicht bewusst sind: c wird normalerweise kompiliert, während Sie darüber sprechen “Anruf[ing] Dateien, um sie zu verwenden” hat ein interpretiertes Sprachgefühl. Der Arbeitsablauf für kompilierte Sprachen unterscheidet sich geringfügig von dem für interpretierte Sprachen (obwohl viele IDEs den Unterschied vor Ihnen verbergen werden).
– dmckee — Ex-Moderator-Kätzchen
26. Februar 2011 um 17:57 Uhr