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
981 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!

sumber:php.cn
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