(16 ~ 20件目表示 / 388件中)

記事一覧

  • 【C言語】配列を0クリアで初期化する方法

    378, 2021-12-28

    C言語の配列を0クリアで初期化する

    paper

    C言語の配列の各要素を0で初期化(0クリア)する方法について解説します。

    C言語の配列はデフォルトで初期化される場合と初期化されない場合があります。
    自動で初期化されない場合は手動で配列を初期化することが必要になります

    (省略されました)

  • Gtk3のGtkTreeViewにフォルダ構造を表示する

    377, 2021-12-25

    Gtk3のGtkTreeViewにフォルダ構造を表示する

    folder

    Gtk3のGtkTreeViewを使うとアイテムをリストにして表示したりできます。
    他には指定のパスのフォルダ構造を再帰的に表示するということもできます。
    これはエディタやWindowsのエクスプローラーなどでよく見るファイルシステムのツリー表示です。

    (省略されました)

  • C++のgetoptで「undefined reference to optind」

    375, 2021-12-22

    C++のgetoptで「undefined reference to optind」

    missing

    C++でgetopt.hをインクルードしてgetopt()関数を使おうとしました。
    それで↓のようなコードを書きました。

    // parse options
    static struct option longopts[] = {
        {"help", no_argument, 0, 'h'},
        {"fname", required_argument, 0, 'f'},
        {0},
    };
    
    extern int opterr;
    extern int optind;
    opterr = 0; // ignore error messages
    optind = 0; // init index of parse
    
    for (;;) {
        int optsindex;
        int cur = getopt_long(argc, argv, "hf:", longopts, &optsindex);
        if (cur == -1) {
            break;
        }
    
        switch (cur) {
        case 0: /* long option only */ break;
        case 'h': /* help */ break;
        case 'f': printf("%s\n", optarg); break;
        case '?':
        default: perror("Unknown option"); break;
        }
    }
    
    if (argc < optind) {
        perror("Failed to parse option");
        return 1;
    }
    

    (省略されました)

  • 自作言語にレキシカルスコープを実装した

    374, 2021-12-21

    自作言語にレキシカルスコープを実装した

    自作言語のPadというインタプリタを開発している。
    Padは開発当初からダイナミックスコープで開発していたが、いろいろな理由により最近になってレキシカルスコープに変更した。

    なぜダイナミックスコープをやめてレキシカルスコープにしたのか?

    (省略されました)

(16 ~ 20件目表示 / 388件中)