Heim > Backend-Entwicklung > C++ > Enthält „argv[0]' immer den Namen der ausführbaren Datei in C/C?

Enthält „argv[0]' immer den Namen der ausführbaren Datei in C/C?

Barbara Streisand
Freigeben: 2024-12-09 01:57:15
Original
991 Leute haben es durchsucht

Does `argv[0]` Always Contain the Executable's Name in C/C  ?

Die Konvention von „argv[0] = Name der ausführbaren Datei“

Frage:

Bei der Übergabe von Argumenten an die Enthält argv[0] in der Hauptfunktion in C oder C-Programmen immer den Namen der ausführbaren Datei? Oder handelt es sich lediglich um eine gängige Praxis, die möglicherweise nicht in allen Fällen zutrifft?

Antwort:

Gemäß ISO C11-Standard:

Wenn Der Wert von argc ist größer als Null, die Zeichenfolge, auf die argv[0] zeigt stellt den Programmnamen dar; argv0 soll das Nullzeichen sein, wenn der Programmname nicht in der Host-Umgebung verfügbar ist.

Daher ist es nicht immer garantiert, dass argv[0] den genauen Namen der ausführbaren Datei darstellt. Vielmehr handelt es sich um einen durch die Implementierung definierten Wert, der von der Host-Umgebung bereitgestellt wird und nicht unbedingt der Dateiname der ausführbaren Datei sein muss.

Der ISO-C-Standard besagt außerdem, dass, wenn argc größer als Null ist, die Array-Mitglieder argv[ 0] bis argv[argc-1] enthalten Zeiger auf Zeichenfolgen mit durch die Hostumgebung definierten Werten, die vor dem Programmstart von der Hostumgebung bestimmt werden.

Dies bedeutet, dass der Wert von argv[0] wird im Standard nicht explizit spezifiziert, was Abweichungen im Verhalten zwischen verschiedenen Plattformen und Betriebssystemen zulässt.

Das obige ist der detaillierte Inhalt vonEnthält „argv[0]' immer den Namen der ausführbaren Datei in C/C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage