すべてがFになる
読み始めた.
数年前にも人に借りて読んだことはあったのでこの話に関してはオチは知っているんだけど,
シリーズ全部は読んでないので今度は全巻読みたいと思っている.
読み始めた.
数年前にも人に借りて読んだことはあったのでこの話に関してはオチは知っているんだけど,
シリーズ全部は読んでないので今度は全巻読みたいと思っている.
金曜日にコンピュータプログラミングのTAやってて,
メイン関数の中に「大きな配列を宣言するときにはstatic
を使うこと」
とかコメントで書いてあった.
C言語というかメモリ周りの話には全く弱くてわからなかったので先生に聞いてみた.static
なしで宣言した変数はスタック領域からメモリを確保する.
スタック領域は大きさが決まっているので(コンパイル時に指定することは可能)
大きすぎるとスタックオーバーフローするから,という話だった.static
をつけるとヒープ(スタック以外の領域)からメモリを確保するのでその問題はないと.
ほかグローバル変数のようなずっと残る変数や,malloc
で確保した場合にもヒープから確保される.
たとえば,こんなコードを書くとスタックオーバーフローでセグフォして落ちる.
|
|
スタックのサイズはシェルでulimit -s
ってやるとわかる.
勉強になった.
髪切った.
図書館にあったので借りた.少しずつ進めている.良い本な気がする.
http://www.amazon.co.jp/ふつうのLinuxプログラミング-Linuxの仕組みから学べるgccプログラミングの王道-青木-峰郎/dp/4797328355
Kindle PaperWhiteほしい.
iPhoneのKindleアプリで本読み始めてから本買う頻度が高い.
iPhone4Sで本読むのは画面サイズ的に辛いんだよなぁ...