Frage

Wenn Eclipse erstellt eine neue Datei (.c oder .h Datei) in ein C-Projekt den editor immer auto schafft eine #define an der Spitze der Datei wie folgt:Wenn die Datei mit dem Namen 'myCFile.c' es wird ein #define am Anfang der Datei wie diese

#ifndef MYCFILE_C_
#define MYCFILE_C_

Ich gesehen haben andere Autoren tun dies auch (Codewright und SlikEdit glaube ich).Die #defines nicht scheinen, etwas zu tun für den editor, wie kann ich Sie einfach löschen, ohne Probleme, und ich kann nicht denken, ein Grund, warum Ich würde Sie nutzen wollen.Weiß jemand, warum es Sie gibt?

War es hilfreich?

Lösung

Es ist zum Schutz gegen mehrere Definitionen.

Andere Tipps

Manchmal sind die Leute auch eine ganze .c Datei, in anderen .c-Dateien (oder auch .h-Dateien), so hat es den genau gleichen Zweck der Verhinderung einer include-Datei von der erste enthielt mehrere Male und der compiler spuckt mehrfach definiert Fehler.

Es ist merkwürdig, dass es das Standard-Verhalten von einem editor setzen Sie diese in etwas ein .h-Datei.Dies wäre ein selten Benötigtes feature.

Eine weitere moderne version davon zu verwenden ist:

#pragma once

Es ist ziemlich ungewöhnlich, um zu sehen, diese in einem .c-Datei, es ist normalerweise in den header-Dateien nur.

Ich denke, es ist ein Rückfall der C-include-Fragen, wo mehrere Exemplare von der Quelle bekommen würde enthalten - es sei denn, Sie sind akribisch gehören Ketten (Eine Datei enthält n andere).Überprüfen, ob ein symbol definiert ist und auch nur, wenn das symbol definiert ist, wurde ein Weg aus diesem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top