タグ

GCCに関するtekimenのブックマーク (3)

  • gdbでマクロ展開情報を確認する方法 - taguiの日々の妄想

    Ubuntu 8.04 LTS を入れたついでに、久しぶりに技術っぽいことでも書いておきます。 仕事でCのプログラムを見る時があるんですが、Cのマクロは便利ですけど、 ソースコードを読む時には、結構やっかいなことも多いですよね。 emacsで展開してもいいんですが、GDBで処理を追っているときに確認したい ということで、下にあるようなことをして私は確認してます。 GCCでコンパイルする段階で情報を付加するので、GCCのコンパイルオプションを 変更するだけです。 1. -g3 -gdwarf-2 オプション付きでコンパイル tagui@desktop:~/test$ gcc -g3 -gdwarf-2 test.c 2. gdb起動 tagui@desktop:~/test$ gdb a.out GNU gdb 6.8-debian Copyright (C) 2008 Free Softw

    gdbでマクロ展開情報を確認する方法 - taguiの日々の妄想
  • GDBでデバッグするなら-g3オプション - 2013-05-08 - ククログ

    RubyPythonなどのスクリプト言語では実行中に例外が発生するとバックトレースを出力してくれます。バックトレースがあるとどこで問題が発生したかがわかるためデバッグに便利です。一方、CやC++では不正なメモリアクセスをすると、バックトレースではなくcoreを残して1終了します2。デバッガーでcoreを解析するとバックトレースを確認できます。 このように、CやC++でデバッグするときにデバッガーはなくてはならない存在です。スクリプト言語にもデバッガーはありますが、デバッガーを使わなくてもデバッグできる範囲が広いため、CやC++をデバッグするときのほうがデバッガーのありがたさがわかります。 この記事では、広く使われているデバッガーであるGDBをもっと便利に使うためのGCCのコンパイルオプション-g3を紹介します。 サンプルプログラム まず、この記事で使うサンプルプログラムを示します。マクロ

    GDBでデバッグするなら-g3オプション - 2013-05-08 - ククログ
  • ARM Options (Using the GNU Compiler Collection (GCC))

    3.19.5 ARM Options ¶ These ‘-m’ options are defined for the ARM port: -mabi=name ¶ Generate code for the specified ABI. Permissible values are: ‘apcs-gnu’, ‘atpcs’, ‘aapcs’, ‘aapcs-linux’ and ‘iwmmxt’. -mapcs-frame ¶ Generate a stack frame that is compliant with the ARM Procedure Call Standard for all functions, even if this is not strictly necessary for correct execution of the code. Specifying -

  • 1