問題:
將參數傳遞給CC或C 程式中的main 函數,argv[0] 是否始終包含可執行檔的名稱?或者這只是一種常見做法,可能並不適用於所有情況?
答案:
根據ISO C11 標準:
如果argc 的值大於零,即argv[0] 指向的字串 代表程式名稱;如果程式名稱在主機環境中不可用,則argv0 應為空字元。
因此,並非總是保證 argv[0] 將代表可執行檔的確切名稱。相反,它是由主機環境提供的實作定義的值,不一定是可執行檔的檔名。
ISO C 標準進一步規定,如果argc 大於零,則數組成員argv[ 0] 到argv[argc-1] 將包含指向字串的指針,這些字串具有由程式啟動前主機環境決定的實作定義值。
這表示標準未明確指定 argv[0],允許不同平台和作業系統之間的行為變化。
以上是`argv[0]` 是否始終包含 C/C 中可執行檔的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!