タグ

コンパイルと測定に関するiwwのブックマーク (4)

  • gccで各関数が使用しているスタックサイズを出力するオプション - いろいろ備忘録日記

    概要 プログラムがいきなり落ちた gcc の -fstack-usage オプション 現在のスタック領域のサイズを調べる 試してみる makefile github にサンプルプロジェクトをアップ 参照情報 概要 忘れないうちメモメモ。こういうのは知ってるのと知らないので手間が大きく変わりますね・・・。 プログラムがいきなり落ちた 自分が書いたプログラムではないんですが、動かしていると特定の処理パターンを通したときにいきなり死ぬという状況が発生。 C言語なので、当にスンって死んでくれます・・w いろんなところをコメントアウトしたり、printfデバッグ入れたりして箇所は特定。 最終的にいろいろ調べたところの結果が「デフォルトのスタックサイズを超える割当をしてるのが原因」でした。これはアカン・・。 で、修正するのは良いとして、もうちょいマシな調べ方ないのかしら?って思いました。 手作業すぎ

    gccで各関数が使用しているスタックサイズを出力するオプション - いろいろ備忘録日記
    iww
    iww 2021/07/13
    -fstack-usage 便利そう
  • UnixBench/Debianへのインストール - Void of Knowledge

    mkdir workspace cd workspace git clone https://github.com/kdlucas/byte-unixbench cd byte-unixbench/UnixBench # ARMを使っていてg++のバージョンがv4.9.2以下ならば、MakeFileを編集 # g++のバグで、-march=nativeがARMの場合に誤動作し、ビルドできないので明示的に設定する # 自分のCPUアーキテクチャ(ハードウェア的にではなく、カーネルが認識しているもの)にあったものを指定する # e.g, Pi3はARM Cortex-A53なのでARMv8だが、これを試した時点のRaspbian上の認識はARMv7になっていたので、armv7-aを指定する #OPTON += -march=native -mtune=native OPTON += -marc

  • 計算機のメモ 【ホームサーバ】(14) CentOS 6でlm-sensorsのS1200KP用のモジュールをインストールする

    S1200KP/CentOS 6 S1200KPのハードウェアモニタリングチップはNuvoton W83677HG-Iというらしい。 しかしlm-sensorsのW83677HG-IドライバはCentOS 6のカーネル(2.6.32)をサポートしないため sensorsで温度や電圧を取得できない。(http://www.lm-sensors.org/wiki/Devices) そこで、同ページより最近できたstandalone driverなるものを取得してインストールする。 https://github.com/groeck/w83627ehf/archives/master 現在の最新版groeck-w83627ehf-d0f3584.tar.gzを取得したとする。 コンパイルが必要である。もし無ければ、カーネルのヘッダもインストールしておく。 $ sudo yum install k

  • メモの日々(2006-09-26)

    ■ [c][soft][unix] LCOVを使ってカバレッジを測定 LCOVというツールを使うとカバレッジを測定して結果をHTMLファイルに出力してくれるみたい。結果ファイルのイメージはlcov を利用したコードカバレッジ解析にある感じ。 あまり情報を見つけられなかったが、Just another Ruby porter, の2004-04-13、2004-04-14などを参考にして使ってみた。バージョンは1.4。 対象ファイルのコンパイル コンパイルはGCCを使って行う必要がある。コンパイル時にはオプションとして「-fprofile-arcs -ftest-coverage」を付与する。こうすると、xxx.o ファイル以外に xxx.gcno というファイルもできるようだ。 なお、カバレッジを測定するファイルと測定しないファイルをリンクする際にも上記のオプションが必要みたい。 実行 コ

    メモの日々(2006-09-26)
  • 1