Funktion aus Datei A aufrufen, die Datei B inkludiert hat
Hallo Leute!
Hinweis: Ich beziehe mich auf die Programmiersprache NotExactlyC, wo es u. a. kein extern gibt.
Problem: Ich habe zwei Dateien main.nxc und xyz.nxc.
main.nxc:
Jetzt möchte aber xyz.nxc die Error Routine von main.nxc aufrufen. (Nicht die Variable, auch die Funktionen) Von der leicht abgewandelten Programmiersprache mal abgesehen, wie würde
der Lösungsansatz in C aussehen? Dass sozusagen eine lowlevel Datei eine Highlevel Datei anspricht?
Mein Plan wäre, Funktionen aus main.nxc auf xyz.nxc etc. zu verschieben, der übersichtlichkeitshalber. Doch die Error Routine soll nicht doppelt sein, und da ich
den Code leider nicht direkt testen kann, brauche ich möglichst viele Implementierungsansätze.
Gruß,
tomaschku
Hinweis: Ich beziehe mich auf die Programmiersprache NotExactlyC, wo es u. a. kein extern gibt.
Problem: Ich habe zwei Dateien main.nxc und xyz.nxc.
main.nxc:
#include "xyz.nxc"
int error;
//Beispielhaft
void seterror(int i) { error = i; };
int geterror() { return error; };
Jetzt möchte aber xyz.nxc die Error Routine von main.nxc aufrufen. (Nicht die Variable, auch die Funktionen) Von der leicht abgewandelten Programmiersprache mal abgesehen, wie würde
der Lösungsansatz in C aussehen? Dass sozusagen eine lowlevel Datei eine Highlevel Datei anspricht?
Mein Plan wäre, Funktionen aus main.nxc auf xyz.nxc etc. zu verschieben, der übersichtlichkeitshalber. Doch die Error Routine soll nicht doppelt sein, und da ich
den Code leider nicht direkt testen kann, brauche ich möglichst viele Implementierungsansätze.
Gruß,
tomaschku
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 375093
Url: https://administrator.de/contentid/375093
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
also ich würde sagen da liegt der Fehler im Design. Eine Datei die inkludet wird sollte nichts aus Dateien aufrufen, die sie vielleicht inkludieren, vielleicht aber auch nicht.
Generell schreibt man solche Fehlerbehandlungsroutinen in low-level Dateien wie z.B. common.nxc, welche dann von allen, die die Routine nutzen wollen/müssen inkludiert wird.
Alles andere ist von hinten durch die Brust ins Knie, meiner Meinung nach.
Grüße
bloody
also ich würde sagen da liegt der Fehler im Design. Eine Datei die inkludet wird sollte nichts aus Dateien aufrufen, die sie vielleicht inkludieren, vielleicht aber auch nicht.
Generell schreibt man solche Fehlerbehandlungsroutinen in low-level Dateien wie z.B. common.nxc, welche dann von allen, die die Routine nutzen wollen/müssen inkludiert wird.
Alles andere ist von hinten durch die Brust ins Knie, meiner Meinung nach.
Grüße
bloody