エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
リリカル☆Lisp開発日記 » Blog Archive » 恐怖! 64bitと0と可変長引数の組み合わせ
32bit用に書かれたC++のプログラムを 64bit環境で動かそうとした時にハマったのでメモ。 void GetParam(... 32bit用に書かれたC++のプログラムを 64bit環境で動かそうとした時にハマったのでメモ。 void GetParam(const char* key, int size, ...) { ... for (int i = 0; i < size; ++i) { int* var = va_arg(va, int*); if (var) *var = values[i]; } ... } ... GetParam("foo", 4, &bar, 0, &baz, 0); // ここでsegmentation fault ... 上記のプログラムを動かしたらsegmentation faultで死んでしまいました。 if (var) *var = values[i]; のあたりが怪しいと目星をつけて調べてみると、 なんということでしょう。varの値が0であると期待している箇所で、 0x7




2012/09/17 リンク