タグ

gccに関するshirokurostoneのブックマーク (3)

  • GCC some extensions

    gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー

  • 革命の日々! gccでpredefind されているマクロ一覧を得る方法

    以前、買えなかった~と書いた西田ですが、その後増版されていることを親切な人が教えてくださり、買えました。 Binary Hackの初心者向けの、ほぼ唯一といってもよい、すごくいいなので、OSとかlibcとかの低レベル層に興味があるひとは、ぜひ買っていただきたい1冊と思います。 で、ここで読者さまの物欲刺激用と自分向け備忘録をかねて このを読んで初めて知ったTipsを1つ。 cpp に -dM オプションを付けると predefined macro 一覧が得られる。 アーキ依存処理を入れたい時に限ってCPU毎のdefine名(__ia64__ とか)が思い出せないのはよくあることなので、これは便利だ。 つーか、man嫁。自分。とか思った。 $ cpp -dM /dev/null #define __DBL_MIN_EXP__ (-1021) #define __FLT_MIN__ 1.

  • gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント

    しかし、ブレークポイントという機能はデバッガの手助けなしでは実現できません。 ブレークポイントとはプログラムの強制一時停止を行うポイントで、実行中のプログラムがブレークポイントに遭遇するとプログラムは一時停止され、デバッガによるプログラムへの介入を行えるようになります。 ブレークポイントは次のような場所に設定できます。 指定した行番号のプログラムを実行しようとする瞬間 関数を呼び出した瞬間 その他、C++などでは「例外が発生した瞬間」などにもブレークポイントを設定することができます。 行番号ブレーク ブレークポイントとしてよく使用されるのは、「プログラムの特定の位置」です。 例として、bubblesort.cプログラムのsort関数内で、隣り合う二つの要素を比較している箇所にブレークポイントを設定してみます。 25|/* bubble sort */ 26|void sort(int *a

  • 1