タグ

Programmingとcに関するkoroharoのブックマーク (3)

  • checkstack.pl で関数のスタック消費量を調べる - bkブログ

    checkstack.pl で関数のスタック消費量を調べる Linux カーネルのソースコードに付属する checkstack.pl を使うと、C/C++ のプログラムの関数のスタック消費量を調べることができます。checkstack.pl は objdump -d のディスアセンブルの出力からスタックポインタの操作をパターンマッチしてスタックの消費量を計算しています。 入手方法 checkstack.pl は Linux カーネルのソースコードに付属しています。Debian GNU/Linux sarege なら次のようにコマンドラインから実行して取得できます。ソースツリーに含まれる scripts/checkstack.pl が目的のものです。 % apt-get source kernel-source-2.6.8 使い方 checkstack.pl の使い方は簡単です。スタックサイ

  • 3.1 配列の要素数を返す. - C/C++ 関数・マクロ集 ((ほぼ?) 処理系・OS 非依存)

    「C/C++ 関数・マクロ集」というタイトルですが, そのうちのいくつかはC専用だったりします.(苦笑) 2007/06/24(日) 追記 高木さんより, Cの規格上移植性に問題がある点をご指摘いただいたので, 現在修正中です. (たくさんあります….orz) とはいってもその多くは, めったにお目にかかれないような珍しい処理系とか, 「そんなの実在するの?」という処理系に移植する場合の話なので, 実用上ほとんどの場合は問題ないと思います. (一部そうとはいえないものもありますが.) Cの規格に照らして完全に「処理系・OS 非依存」 にするのは困難な場合もあり, 完璧な移植性にこだわるあまりプログラムが書けなくなっては末転倒なので, タイトルに「ほぼ?」を入れました.orz 2007/06/21(木) 追記 このページを含め,私が C/C++ 関連記事を書くに当たりたびたび参考に&リンク

  • バッファオーバーフローの回避

    Table of Contents5.1. C や C++ の危険なところ5.2. C と C++ でのライブラリによる解決策5.2.1. 標準 C ライブラリによる解決策5.2.2. 静的もしくは動的に確保したバッファ5.2.3. strlcpy と strlcat5.2.4. libmib5.2.5. C++ std::string クラス5.2.6. Libsafe5.2.7. その他のライブラリ5.3. C や C++ でのコンパイルによる解決5.4. その他の言語 頻繁に発生しているセキュリティ上の弱点は、「バッファオーバーフロー」 に対する脆弱性です。 バッファオーバーフローは「バッファオーバーラン」とも言われ、さまざまな バッファオーバーフロー攻撃が存在しています(「スタック領域破壊」や 「ヒープ領域破壊」もそうです)。 厳密に言えば、バッファオーバーフローはプログラムの実装

  • 1