タグ

gccに関するelwoodbluesのブックマーク (13)

  • Linux/gccプログラミングをこれから始める人にお勧めしたい本 - Akio's Log

    7月ももう終わりですね。 会社の新人研修も一通り修了し、新人達が現場にぼちぼち配属され始めた頃でしょうか。うちの会社はお盆明けからですが。 さて。プロジェクトに配属され、Linux上でのCプログラミングをしなければいけなくなった人達へ、お勧めしたいを紹介します。質的な内容の書籍よりは、読みやすいもの、平易なものを選んでみました。 導入編 新人達は、Linuxを触るのも初めて、という人も多いでしょう。という事で、まずは、Linuxとはどんなものなのかを理解してください。 Linux標準教科書 無料ダウンロード LPI-Japan LPICレベル1対応|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン] このたび、特定非営利活動法人エルピーアイジャパンは、Linux技術教育に利用していただくことを目的とした教材、「Linux標準教科書(Ver1.1)」を開発し、インタ

    Linux/gccプログラミングをこれから始める人にお勧めしたい本 - Akio's Log
  • H8 developmet Linuxによるマイコンプログラミングのページ みつうらゆきお

  • ホワット・ア・ワンダフル・ワールド C 言語も進化してるんだなぁ

  • Automakeでmakeする

    [ C++で開発 ] Automakeでmakeする GNU Automakeを使用すると、簡単な記述でMakefileを生成してくれます。類似ツールにimakeがありますが、imakeは事実上X Window Systemの一部となっており、Xアプリケーション用に調整されているので、非Xな環境やアプリケーション開発に使う際にはやや面倒です。 Automakeの超簡単原理 Automakeは、makeコマンドでビルドするための設定記述ファイルMakefileを、極めて簡単に記述するためのツールです。通常Makefileには、コンパイルする際の諸設定、リンクする際の諸設定、処理順序などを逐一記述しておかなくてはなりません。これは、よっぽどMakefileに慣れていないと苦痛ですし、慣れていても面倒な作業です。そこで、Makefileよりもずっと簡単な設定ファイルMakefile.amだけを記

  • gdb tips - bkブログ

    gdb tips gdb を使う上で便利な tips を紹介します。基的な使い方をマスターしている人向けです。 .gdbinit の設定 ホームディレクトリに .gdbinit を置いておくと、gdb の起動の際に読み込まれます。私の場合は次のような設定をしています。 set history save on set history size 10000 set history filename ~/.gdb_history set print pretty on set print static-members off set charset ASCII set history から始まる最初の 3行は履歴に関する設定です。それぞれ、 gdb のコマンドラインの履歴をファイルに保存する、保存する行は最大 10000 行、ファイル名は ~/.gdb_history 、という意味になります。

  • GDB

    GDBの使い方を調べてみた.将来的にはデバッガを使えるようになって効率的な開発をしていくのだ. 入門編 応用編 GDBじゃないけど…… 入門編 基的なGDBの使い方 とにかくちょっと使ってみる 2003-07-20T15:13+09:00 matsu gdbをとにかくちょっと使ってみた. breakポイント 2003-07-20T15:13+09:00 matsu おそらく多くのデバッグ作業はbreakポイントとステップ実行で足りるものではないだろうか.ここではbreakポイントの設定方法を中心に記述する.breakポイントはいろんな方法で指定できるようだ. watch 2003-07-20T15:13+09:00 matsu 変数値の変化を追跡できるとうれしいかもしれない. continueとステップ実行 2003-07-20T15:13+09:00 matsu breakした後処理を

  • Dynamic allocation of two dimensional array by C

    C言語で動的に多次元配列を確保する方法 author: dynamic shun reviewer: aso, h-got, moto, 河上様 はじめに 稿に書かれてあるプログラムには,実際に実行してはならないものや 間違いがあるプログラムがありますので注意して下さい. ちなみに実際に動的に確保をするプログラムは 結構長い能書きの後に書いてありますが, 今後のことも考えて最初から熟読されることを薦めます. コンパイル時にサイズが既知の場合 例えば画像処理を行なうプログラムを書こうとします. その画像を表現する二次元配列を用意するには以下のような方法が一般的でしょ う. #define SIZE_X 64 #define SIZE_Y 32 main() { int i, j /* ループ変数 */ double image[SIZE_X][SIZE_Y]; /* 画像 */ for

  • malloc使用時のメモリリーク調査、デバッグメモ

    メモ.リリークの調査をするときのメモ。 メモリリーク検出:mtrace編 より要約 gccの場合、mtraceというツールが使える。 使用手順は 1.環境変数:MALLOC_TRACE=[ログファイル名]を設定 2.プログラム改造:関数 mtrace()、 muntrace() を挿入。(この間のmalloc, freeがカウントされる) 3.コンパイル: -g オプションをつける。(gcc -g hoge.c) 4.ログ解析:mtrace [プログラム名] [ログファイル名] 簡易mallocデバッグメモには、mallocがらみの環境変数の解説等が載っている 「Linuxのデバッグ手法をマスターする」では各種ツールの有効な利用方法がまとめられている。 稿では、Linuxプログラムをデバッグするための4通りのシナリオを紹介します。シナリオ1では、メモリー割り当ての問題を扱うサンプル・プロ

  • 簡易mallocデバッグメモ – ログ取得ツール

    Linux、FreeBSDについて昔メモっておいたものをここに残しておく。 いまはもっと簡単なものもあるし、もっと複雑なものもある。あるいはgc使うのもいいだろう。 Linux(glibc): malloc(), calloc(), realloc() は失敗すると errno に ENOMEM が入る。 デバッグには環境変数 MALLOC_CHECK_ をいじる。値は、 0 ヒープの破壊を黙って無視 1 診断メッセージを表示 2 abort() を呼び出す 他にも MALLOC_TRIM_THRESHOLD_ MALLOC_TOP_PAD_ MALLOC_MMAP_THRESHOLD_ MALLOC_MMAP_MAX_ MALLOC_TRACE などの環境変数(?)があるようだ。 malloc 系の関数には hook をかけることができる。 変数 __malloc_hook, __rea

  • Cプログラミングのメモ

    CODE COMPLETE によると、プログラミングを上達するには日頃から よく読むこと (マニュアル・書籍・他人のソースコードなど) とよ く考えることが肝要だそうです。 何か耳寄りな情報があれば教えてくださいませ。 (ページの内容はかなり古くなっています) 目次 書籍 インターネット上の文書 ライブラリ ツール メモリプロファイラ GTK+/GNOME関連 その他 書籍 書籍の情報は 別の場所に移しました。 インターネット上の文書 Programming in C * C言語についての網羅的な情報源。 Steve Summit: C Programming FAQs: Frequently Asked Questions * 書籍版の 3/4ほどの内容。 情報源: Web版, 日語訳, 日語訳のHTML版 Henry Spencer: The Ten Commandments f

  • 無為空間 |MALLOC_CHECK_

    無為空間 むいむい(´ω`*) Entries MALLOC_CHECK_ タグ: C++ gcc gccでコンパイルしたプログラムを実行していたら、 qsort の中の malloc でセグメンテーション違反が発生した。 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1275348048 (LWP 18592)] 0x006ca560 in malloc_consolidate () from /lib/tls/libc.so.6 どうもどこかで「二重解放」が行われている様な雰囲気なのだが……全て自分のコードならともかく、色んな人が色んな思想で組み立てたコードのため、当たりを付けるのが非常に困難。 ああ、何か簡単に二重解放している箇所を見つけるツールはないものか……と検索してみたらあっ

  • Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $< なんて変数は使ったら負けです. 基(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生成されます 重要な点は,間違っても all: hoge hoge: hoge.c $(CC) hoge.c -o hogeのようなMakefileを書かないことです.このようなMakefileでは #!/bin/sh CC=gcc $CC hoge.c -o hoge というようなシェルスクリプトと同程度の使い勝手しかありません. 基(その2) ここで例えば-O3 を付けてコンパイルしたい場合や,-lm を付けてリンクしたい場合は以下のようにし

    Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • 使いながら覚えるGDB

    はじめに プログラムのデバッグと言えばひたすらprintfを挿入しまくっていたある日、 デバッガなる便利な代物があるということを知った。なんでもプログラムを一行 ずつ実行できて、変数の値をその場で確認できるらしい。これは是非使ってみねばと 思い、UNIX環境で使えるGDBというデバッガを試してみた。が、何がなんだかさっぱり 分からない。Webを検索するとマニュアルの日語訳が見つかった。これで勉強すれば 使えるようになるかも、と読み始めるも、いきなりm4がどうのこうのだの、意味不明 の文章が続く…。 これは私がGDBを使い始めた時の話だが、似たような経験を持っている人が他にもいる と思う。 GDBのマニュアルは初心者にはすこし敷居が高い。 GDBに限らずマニュアルというものは初学者が参考書として用いるのには 適していない。というのも、マニュアルの類は情報量が多い分、重要な部分を 見つけ出す

  • 1