9-1.ソース・ビルド・インストールsizeコマンドでdata,bssを確認する sizeコマンド続きです。 前回のおさらい。文字列をchar*変数だけどrodataで、sizeの表示はtext。 constをつけても、同じ。 配列変数にすると、dataになる。 ... 2018.08.219-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールmain関数の引数 アニメ『悪偶 -天才人形-』 1話で設定に引き込まれます。怪しいキャラデザとかも設定によく合ってます。2話目でいきなりバトルになって、戸惑いましたが、もう少し見てみようと思います。 あぐう、ということで、argumentやり... 2018.08.039-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールマイtruncateを作る(その5) マイtruncate続きです。 サイズの切り詰め処理は、truncateコマンドのソースを参考にしてみます。 「マイtruncateを作る(その3)」で知りましたが、truncateコマンドでは、ftruncate関数を使ってました。 ... 2018.04.199-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールstat関数を使う 今回は、stat関数を使います。 まずは、man 2 statの冒頭です。 型が分かったので、statをコールするプログラムを作ります。 まあ、後はgdbで値を見ていけば、bufの使い方は分かってくるでしょう。ということで... 2018.04.159-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールfgetcのバッファサイズ 前回までで、fgetcは中身はポインタ操作のマクロを呼び出していることが分かりました(debianの場合)。 さて、バッファサイズはどれだけなんでしょうか。gdbで確認してみます。 使うソースです。 gdb用にビルドし... 2018.04.149-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールfgetcの行方 前回の続きでfgetcの行方を追います。fgetc.c自体はずっと前に削除されていることがわかりましたが(debian)、 代わりに何が使われているかというと_IO_getcでした。 _IO_getcはlibio/getc.cに定義され... 2018.04.139-1.ソース・ビルド・インストール
9-1.ソース・ビルド・インストールマイtruncateを作る(その3) 前回まで自作のしょぼいtruncateを作ってましたが、本物のtruncateのソースを見て答え合わせしてみます。 ※truncateのソースは、全文を記事の最後に載せています。 まずオプション解析。getopt_longを使ってま... 2018.04.099-1.ソース・ビルド・インストール