タグ

C++と配列に関するni66lingのブックマーク (2)

  • スタックオーバーフロー - Wikipedia

    スタックオーバーフロー (英: stack overflow) は、コンピュータプログラムにおいて、コールスタック領域の限界を超えたデータプッシュにより発生する、バッファオーバーフローの一種である。スタックバッファオーバーフロー (英: stack buffer overflow) とは別の概念である。 概要[編集] プログラムにおいて、サブルーチン(関数/プロシージャ)呼び出しに関する情報を格納するためのスタックメモリ領域(コールスタック)が確保される。サブルーチン呼び出しのたびにデータがスタックに積まれ(プッシュ)、サブルーチンが終わって制御フローが呼び出し元に戻るとスタックからデータが降ろされる(ポップ)。オペレーティングシステムや実行オプションにもよるが、コールスタックに格納できる情報量には上限がある。コールスタックに蓄積されるデータ量が限界を超えるとスタックは「オーバーフロー」し

  • test dword ptr [eax],eax ; probe page. - プログラム覚書 〜PSP(パーソナルソフトウェアプロセス)〜

    CHKSTK.ASMのファイル名のエラー 実行をすると引っかかるエラーです。 原因はオーバーフローらしいです。 一番多いケースは大きいデータ(配列など)を取りすぎなところです。 今回は int src[400][480][600]; の行が原因なので、staticをつけて static int src[400][480][600]; でエラーがとれました。 他にも解除方法としてポインタを使用することでとれます。 今回は3次元配列のポインタに書き換えます。 unsigned char ***src; int i,j; src = (unsigned char ***)malloc(sizeof(unsigned char **) * length); for(i=0;i

    test dword ptr [eax],eax ; probe page. - プログラム覚書 〜PSP(パーソナルソフトウェアプロセス)〜
  • 1