2018.04.15今回は、stat関数を使います。flags);型が分かったので、statをコールするプログラムを作ります。後はgdbで値を見ていけば、bufの使い方は分かってくるでしょう。いうことで、-g付きでビルドします。ポインタだといってるのに、ポインタにしてないからです。bufがスカラーになってます。テキストエディタを開くのが面倒なので、sedで置換。gdbで動かす前に、statをかけるファイルを作成。123>test.bintakk@deb9:~/tmp$gdbを起動します。argsでtest.binも指定しておきます。0;(gdb)statをコール後、bufの中身を表示してみました。0}}}(gdb)各メンバのことは、statコマンドを参考に見ていけば、分かりそうです。関連記事9-1.ソース・ビルド・インストールsizeコマンドで苦手なセクションを覚える今回もsizeコマンドです。苦手、というかまったく理解してなかった、コンパイル、リンク、加えてセクションって何者なのか。この辺りの苦手意識を克服するためしばらくsizeコマンドで遊んでみます。フランスの漫画原作ってことで気になって見ていますが、今のところ目新しさはないかなあと思います。面白さが分からない状態で見るのはなかなか苦痛。Zeroの方を先に見ていたので、すぐに内容に入っていけました。ああ、でもプリズマイリヤを最初に見たものだから、イリヤの参戦に驚いたのなんのって。2006...9-1.ソース・ビルド・インストール花文字ソースビルドsysvbannerのプログラムをソースからビルドしてみます。ソースをapt-getで取得します。いうファイルが取得できました。今回は戻り値の型でアセンブラがどう変わるか確認します。戻り値がchar型の場合。func1の戻り値はEAXに格納されるようです。char型の戻り値であっても、32bitのレジスタが使用されるんですね。main側...9-1.ソース・ビルド・インストールポインタ引数の割り当てレジスタ前回C言語のプログラムをディスアセンブルしたソースを参考に、アセンブラを埋め込みました。関数の引数に割り当たるレジスタもおぼろげながら分かってきました。ポインタ引数の場合、どのレジスタに割り当たるのでしょうか。email.ホーム9.ソース管理9-1.ソース・ビルド・インストールスポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。Policyホーム検索トップサイドバースポンサーリンク広告プロフィール管理人:takketeお仕事:システムエンジニア日々何か向上したくて、もがいています。thanksタイトルとURLをコピーしました。