ブログ

割とコンピュータよりの情報をお届けします。

2019年2月5日

Visual C++にあるMicrosoft独自の拡張機能の一例

C/C++では,コマンドライン引数が欲しい時,main関数の引数にint argc, char **argvなどを指定して使うことが多いが,実はMicrosoft独自の拡張機能が想定できる場合にはグローバル変数にもある.

Microsoftのコンパイラなら,グローバル変数として__argc, __argvが存在することが期待できる.

グローバル変数なのでスタートの関数がWinMainなどであっても同様に使用することができる.
このことは初めて知った.(忘れていただけかもしれないが...)
例えば次のようなコードで使用できる.

#include <iostream>

int main()
{
    for (int i = 0; i < __argc; i++) {
        std::wcout << __argv[i] << std::endl;
    }
    return 0;
}

MinGWでは使えないようなので注意が必要である.

≫ 続きを読む

2019/02/05 コンピュータ   TakeMe