タグ

Cに関するrakudaininjaのブックマーク (4)

  • C言語で始めるプログラミングの基礎---目次

    「これからプログラミングに取り組んでみよう」「もう少し深くプログラミングの世界を知りたい」という人にお薦めしたいプログラミング言語,それがC言語です。 C言語で書かれたプログラムが,組み込み機器からスーパーコンピュータに至るまで,様々なシステムで使われているのも,C言語の大きな魅力の一つです。でも,それだけではありません。 C言語には,ハードウエアに近いプログラミングが可能,仕様がコンパクトで覚えやすい,という特徴もあります。そのため,コンピュータの仕組みを意識しながらプログラミングを学ぶには最適です。さらにC言語は,C言語以降のプログラミング言語に大きな影響を与えており,C言語を理解して得た知識は,他のプログラミング言語にもしっかり生かせます。 連載を機会に,現代プログラミング言語の「基礎」といっても過言でないC言語を,あなたの財産にしてみませんか?

    C言語で始めるプログラミングの基礎---目次
  • 第10回 ポインタと構造体を理解してオブジェクト指向に備える

    前回は多次元配列にポインタでアクセスする方法や,動的に確保したメモリーをポインタで多次元配列のように扱う方法を説明しました。malloc関数*1などで動的に確保したメモリー上の固まり(メモリー・ブロック)をどう扱うかは,ポインタの宣言次第であることを見ていただきました。ポインタの宣言が難しそうに見えても,実際にメモリーに値が格納されている仕組みは単純なのだと感じていただけたでしょうか。 復習を兼ねて,一つサンプル・プログラムを見てみましょう。リスト1は,2次元配列をポインタで扱うプログラムです。リスト1の(1)で, char (*p)[10]; とポインタを宣言しました。これは配列のポインタ,正確に書けば「char型の要素を10個持つ配列へのポインタ」の宣言です。(2)のfor文に登場するポインタ*(p+i)はそれぞれ,str[0],str[1],str[2]を指します。 これとよく似たポ

    第10回 ポインタと構造体を理解してオブジェクト指向に備える
  • http://homepage3.nifty.com/ryuz/c/

  • Cのプログラムの中でブレークポイントを設定する - bkブログ

    Cのプログラムの中でブレークポイントを設定する Cのプログラムをデバッグする際には GDB などのデバッガが役立ちます。通常、ブレークポイントはデバッガの中から設定しますが、デバッグ対象のCのプログラムの中で設定することもできます。 Linux なら #include <signal.h> して、任意の箇所に raise(SIGTRAP); を挿入すれば OK です。 raise() 関数を用いて SIGTRAP シグナルを発生させています。 あるいは x86 限定なら __asm__("int3"); でも OK です。ここでは SIGTRAP を発生させるために int3 (0xcc) 命令を埋め込んでいます。GDB もソフトウェア的にブレークポイントを設定するときは当該箇所に int3 を書き込んでいるので、やっていることは割と似ています (GDBの場合は int3 を書き込む部分の

    rakudaininja
    rakudaininja 2006/02/06
    デバッグ環境を考え直したい昨日今日。
  • 1