Die Frage bezog sich auf einfache c Funktionen, nicht c++ static
Methoden, wie in den Kommentaren präzisiert.
Ich verstehe, was ein static
Variable ist, aber was ist eine static
Funktion?
Und warum ist es so, dass, wenn ich eine Funktion deklariere, sagen wir void print_matrix
in, sagen wir mal a.c
(OHNE a.h
) und umfassen "a.c"
- Ich bekomme "print_matrix@@....) already defined in a.obj"
, ABER wenn ich es deklariere als static void print_matrix
dann kompiliert er?
UPDATE Nur um das klarzustellen - ich weiß, dass auch .c
ist schlecht, wie viele von Ihnen betont haben. Ich tue es nur, um vorübergehend Platz zu schaffen in main.c
bis ich eine bessere Vorstellung davon habe, wie ich all diese Funktionen zu richtigen .h
y .c
Dateien. Nur eine vorübergehende, schnelle Lösung.