__argc, __argv的功用

在startdic的原始碼中,有這樣一段return _main (__argc, __argv);

這也會讓人有點疑惑,查詢一下__argv的功用,你可以看到如何取得程式名稱在 Windows 架構應用程式和 Win32 架構的應用程式中這一篇,以C撰寫的MS-DOS應用程式,命令列可以取得從 argv 參數的 main ()。在特別程式名稱由 argv [0] 被指到]。

Windows 為基礎和以 Win32 基礎的應用程式使用 WinMain() 做為進入點。

在 32 位元應用程式中您就可以直接參考 __argv。在 stdlib.h 中有這樣的宣告:

extern int    _argc;
extern char**    _argv;

在 16 位元應用程式中 __argv 未宣告,而且您將需要宣告它。在您的來源或標頭檔中加入下列宣告。

   #ifdef __cplusplus
   extern "C"
   #endif
   extern char ** __argv;

這個__argc, __argv,主要是在接下來的gtk_init(&argc, &argv); 會用到,一般來說,我們不太會在命令列中執行這個,所以常會忽略到gtk-init的命令列參數有一些功用 ,可以參考GTK+ 2.0 教學-從這裡開始這篇的說明。

Print Friendly, PDF & Email

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料