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
Please also mark the comments that contributed to the solution of the article
Content-Key: 375093
Url: https://administrator.de/contentid/375093
Printed on: April 26, 2024 at 15:04 o'clock
3 Comments
Latest comment
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