スポンサーリンク
9-1.ソース・ビルド・インストール

stat関数を使う

今回は、stat関数を使います。 まずは、man 2 statの冒頭です。 型が分かったので、statをコールするプログラムを作ります。 まあ、後はgdbで値を見ていけば、bufの使い方は分かってくるでしょう。ということで...
9-1.ソース・ビルド・インストール

fgetcのバッファサイズ

前回までで、fgetcは中身はポインタ操作のマクロを呼び出していることが分かりました(debianの場合)。 さて、バッファサイズはどれだけなんでしょうか。gdbで確認してみます。 使うソースです。 gdb用にビルドし...
7-2. バイナリ処理

読み込みバッファサイズ

readを使った読み込みではバッファサイズを多めにしていたのでfgetcよりも早くファイルが読めました。サイズをいろいろ変えて時間を確認してみます。 このプログラムを使います。 ついでにtest.datが1Gは大きすぎて待ち時間...
9-1.ソース・ビルド・インストール

fgetcの行方

前回の続きでfgetcの行方を追います。fgetc.c自体はずっと前に削除されていることがわかりましたが(debian)、 代わりに何が使われているかというと_IO_getcでした。 _IO_getcはlibio/getc.cに定義され...
7-2. バイナリ処理

fopenとfgetcとfputcとfcloseを使う

前回はシステムコールを使ってファイル読み出しをしたので、 今回はライブラリ関数を使ってファイル読み出ししてみます。 man 3でそれぞれ型の確認。 ではプログラムです。バッファがいらない分、すっ...
7-2. バイナリ処理

openとreadとwriteとcloseを使う

前回確認したtruncateソースではopen、closeを直接使ってました。今回はopen、read、write、closeを使ってファイル読み込みをしたいと思います。 各関数の使い方はman 2 ~で確認しておきます。 ...
9-1.ソース・ビルド・インストール

マイtruncateを作る(その3)

前回まで自作のしょぼいtruncateを作ってましたが、本物のtruncateのソースを見て答え合わせしてみます。 ※truncateのソースは、全文を記事の最後に載せています。 まずオプション解析。getopt_longを使ってま...
スポンサーリンク
タイトルとURLをコピーしました