Rumah > pembangunan bahagian belakang > C++ > Adakah `argv[0]` Sentiasa Mengandungi Nama Boleh Laku dalam C/C ?

Adakah `argv[0]` Sentiasa Mengandungi Nama Boleh Laku dalam C/C ?

Barbara Streisand
Lepaskan: 2024-12-09 01:57:15
asal
1043 orang telah melayarinya

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

Konvensyen "argv[0] = Name of Executable"

Soalan:

Apabila menyampaikan hujah kepada fungsi utama dalam program C atau C, adakah argv[0] sentiasa mengandungi nama boleh laku? Atau adakah ini hanya amalan biasa yang mungkin tidak berlaku dalam semua kes?

Jawapan:

Mengikut piawaian ISO C11:

Jika nilai argc lebih besar daripada sifar, rentetan ditunjuk oleh argv[0] mewakili nama program; argv0 hendaklah menjadi aksara nol jika nama program tidak tersedia daripada persekitaran hos.

Oleh itu, tidak semestinya argv[0] akan mewakili nama sebenar boleh laku. Sebaliknya, ia adalah nilai yang ditentukan pelaksanaan yang disediakan oleh persekitaran hos dan mungkin tidak semestinya nama fail boleh laku.

Standard ISO C selanjutnya menyatakan bahawa jika argc lebih besar daripada sifar, ahli tatasusunan argv[ 0] melalui argv[argc-1] akan mengandungi penunjuk kepada rentetan dengan nilai yang ditentukan pelaksanaan yang ditentukan oleh persekitaran hos sebelum program bermula.

Ini bermakna nilai argv[0] tidak dinyatakan secara eksplisit oleh standard, membenarkan variasi dalam tingkah laku merentas platform dan sistem pengendalian yang berbeza.

Atas ialah kandungan terperinci Adakah `argv[0]` Sentiasa Mengandungi Nama Boleh Laku dalam C/C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan