タグ

c言語に関するyuisekiのブックマーク (25)

  • 標準ライブラリ関数一覧 - 苦しんで覚えるC言語

    主にファイルを取り扱う関数です。 C言語では、ディスク以外の周辺機器もファイル扱いできます。 また、規定のファイルポインタとしてこれらを扱うことができます。

    標準ライブラリ関数一覧 - 苦しんで覚えるC言語
  • tips : tips/02.プログラミングなど/C言語

    「ここは違う」、「ここはこうするといいよ」等あったら下記フォームから連絡ください。 ※ 何も来なさすぎて寂しいので、雑談とかグチのメールでも歓迎です。

  • 組み込みのためのC言語 (ワンチップマイコンのソフト開発)

    C言語の入門書は世の中にあふれています。 しかしそれらはPC(パソコン)用 が大半で組み込みを意識したものがありません。  ここでは主に組み込みを意識したC言語について説明します。 [▲上位階層] 2005-12-19 新規作成, 2006-03-14 更新 目次 C言語とは まずは動作させてみる 2-1 実行する前の準備 〜 スタートアップ 2-2 矩形波を出力する 他の言語との比較 3-1 VB (Visual Basic) 3-2 Java 3-2-1 Javaのメモリーの管理 3-2-2 Javaのリアルタイム性 3-2-3 組み込み用のJava 3-3 アセンブリ言語とマシン語 3-4 C++ 一般的な開発ツールの構成 4-1 開発の流れ 4-2 ツール 4-3 ファイル C言語の文法 5-1 全体的なこと 5-1-1 記述順序 5-1-2 実行順序 5-1-3 定義よりも先に

  • そろそろ『test driven development for embedded c』について書いてみる · Futurismo

    25 Aug, 2012 · by admin · Read in about 3 min · (1428 Words) 組込み <div class='amazlink-info' style='height:160; margin-bottom: 10px'> <div class='amazlink-name' style='margin-bottom:10px;line-height:120%'> <a href='http://www.amazon.co.jp/Test-Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025

  • tips : tips/02.プログラミングなど/C言語/Linuxドライバめも.txt

    Linuxドライバめも    書籍 Linuxデバイスドライバプログラミング サンプルコード http://www.sbcr.jp/books/img/LDP.zip Linuxデバイスドライバ Linuxカーネル2.6解読室 Linuxデバイスドライバプログラミング を読んだ時のメモ 3章 デバイスドライバ開発手法 ・ビルド gcc のオプションは「最適化あり(-O2)」にする リンク作業はない。insmod コマンドでカーネルに組み込む。 ・デバッグ printf() は使えない。printk() を使う。 標準出力ではなく dmesg で見れる。 /var/log/messages にも出る ・ JTAG : ハードウェアデバッガ ブレークポイントをしかけ、メモリダンプやレジスタの状態を参照できる Flash ROM への焼きこみも出来る機能があった

  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

    前回の記事『プログラム初心者にC言語のポインタを不意ながら教える羽目になったなら、こう教えると良いよ』でポインタの教え方を書きました。ソレに対して「そもそもどうしてポインタっていう仕組みがあるの?」という質問をもらったので、つらつらと書こうと思います。稿は「ポインタがある理由の教え方」ではなく「ポインタがある理由」です。分かっている人には相当に退屈な文章ですのでそういう人は読まずにお帰りください。 で、えーと、結論だけ先に言うと省メモリ化のため、次に速度アップのため、そして生産性アップのためです。 1. メモリは有限である。 マシンに搭載されているメモリには限りがあります。メモリ空間は広大ですが、無限ではないのです。 好き放題にどんどんメモリを使ってデータを格納するわけにはいかないというわけです。しかしプログラムは計算のためにメモリ空間を占有します。仮に↓こんな感じに、わずかな有限メモ

  • Linux愛好者の独り言 Cutterのとても簡単な使い方

    Linux愛好者の独り言」は,Linuxやプログラミングの,楽しさや初心者向け情報を配信するBLOGです。 CutterはC/C++用の単体テストユニットフレームワーク(所謂xUnit)だ。 評判が良いので,以前から使いたかったのだが,いかんせん,家のチュートリアルが丁寧すぎてわかりにくく,使い方がわからなかった。 このチュートリアルでは,automake等を用いた格的な使い方が書かれているので, てっきりCutterを使う時はいつもこのくらいの準備が必要なのかと思っていた。 ほんのちょっと,テストコードを書いて開発の補助にしたいだけなのに,いちいちMakefile.amだのconfigure.acだのを作るのは面倒だ。 (これが面倒でない人間はIDEなんて使わないだろう) 毎度,このチュートリアルに従うくらいなら,cxxTestでもを使うほうがましだと思った。 だが,どうやら,

  • 中里一日記: Array Considered Harmful あるいは、なぜC言語のポインタは難しいのか

    Array Considered Harmful あるいは、なぜC言語のポインタは難しいのか 大昔、子供向けのBASIC入門のを読んだら、「配列でつまづく人が多い」と書いてあったのを覚えている。 今でも配列――今ではたいてい「リスト」という格好いい名前がついている――を使うときには、「これこそプログラミングの味!」とでも言うべき不自然さを感じて、抵抗を覚える。 たとえばループ変数の名前、i。なぜいつも同じ名前、つまり意味のない名前なのか。よい名前がつけられないということは、なにかがうまくいっていないということだ。 この点で、関数オブジェクトとmapは文句なく正しい。が、それで配列まで正しくなるのか。 配列とは値の集合であり、少なくとも以下の3つの性質がある。 1. 重複を許す(多重集合) 2. 要素間には前後の順序がある(全順序) 3. 配列の各要素は連続した整数と1対1対応する(インデ

  • ポインタの話(おまけ) - C言語 - 碧色工房

    前回までポインタなお話でしたが、 間に挟めなかったちょっとしたことについて解説 ストリング(文字列) アルバイトでTA(ティーチングアシスタント&テクニカルアシスタント: 詰まるところプログラムとかを大学生相手に教えるお仕事)なんてやってる私ですが、 やはり初心者にとってC言語における文字列ってのはハードルが高いらしい。 一度理解してしまえばどうってことはないんですが・・・ C言語では一文字を表すのは char 型、文字列はその集合なので char 型の配列として表現されます。 しかし、配列は長さを保持できないし、配列の長さと文字列の長さも異なる場合が多いため、文字の羅列だけでは情報が足りません。 そこで、Cでは終端文字(ヌル文字もしくはナル文字、NUL 文字(NULL ではない))を使っています、 この文字が現れるまでを一つの文字列として扱かわれるわけです。 終端文字として扱われるのは文

    ポインタの話(おまけ) - C言語 - 碧色工房
  • ActiveXコンポーネント製品 ☆ FukuRiko's WebSite ☆ C言語ポイント学習

  • C言語の基礎知識(?)メモ(Hishidama's C Memo)

    我ながら、「str」を何と呼ぶかが統一されていない(苦笑) 思うに、これは(自分の中での)知名度の問題? 何をするものだかよく知らない(知らなかった)関数(例:strtok)では、英単語のそれっぽい読みを適当に割り当てる。 strが文字列を指すと熟知している場合は元の意味を表す音にしたいところだが、「ストリング」だとなんとなく長く感じる。かと言って「ストラ」だと、別の意味がありそうな気がしてしまう。「スター」でも星って感じだし。 memoryが「メム」と略しやすい語になっているのに対し、stringが略しにくいのがいけないんだ!(爆) NULL 無効なポインターを表すには、C言語では「0」(ゼロ)を使う。[2006-10-30] が、プログラマーがソースを見たときに分かり易くするため、「NULL」という別名を使うことが多い。(「ヌル」と読まれることが多い) #define NULL (0)

    yuiseki
    yuiseki 2012/01/26
    単語の読み方
  • やっぱり苦労するC言語のNULL文字’¥0′ | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    やっぱり苦労するC言語のNULL文字’¥0′|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ 弊社製品ラウンドアバウトが先日正式リリースされた。僕はラウンドアバウトの開発メンバーだったから、やっと完成したという大きな達成感がある。 しかし、その開発期間を思い起こしてみると、C言語特有の問題に直面し、実に苦労すること多かった。ラウンドアバウトはApacheモジュールなので開発言語はC言語となる。C言語で書くと実行速度が速くなるメリットもあるけど、文字列の概念がなかったり、ポインタによるアドレス指定が必要だったりと、プログラミングに注意が必要となる箇所も多い。 その内の一つがラウンドアバウトのキャッシュ機能を開発していた時に発見した不具合だ。ほとんどの画像ファイルは正しくキャッシュされるが、一部のファイルだけキャッシュされないと

  • C/C++セキュアコーディング入門一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C/C++セキュアコーディング入門一覧
  • 第6章 C言語による実践プログラミング

    この章では、C言語を使用した実践的なプログラミングを取り上げます。 一口にプログラミングといっても、ちょっとしたファイルの読み書きやデバイス操作を実現するだけの簡単なものから、複雑な演算を行ったりネットワークを介してサービスを提供し続けるような高度なものまで、多岐に渡ります。ここではその中から、誰もが様々な場面で使うであろう基技術と、Armadilloが持つインターフェースを通じて行う操作の代表的なものを中心に、分野ごとに分けて紹介していきます。 Linuxや開発環境に依存した独特な部分に留意しつつ、組み込みならではの使用方法を想定した応用例やノウハウについても多く記載したつもりです。プログラミング経験豊富な方であってもおさらいのつもりで読んでみて、一般的なプログラミングでは解説されていない情報を見つけていただければ幸いです。 C言語で書かれたプログラムは、実行できる状態にするために

  • Arduino-serial: C code to talk to Arduino – todbot blog

    todbot blog Random experiments, circuits, code, rapid prototyping, sometimes things to buy, and the odd tune by Tod Kurt. [NOTE! arduino-serial has been greatly updated. See the “Arduino-serial: updated!” post for details] The Arduino’s USB port is actually a serial port in disguise. To your computer it appears as a ‘virtual’ serial port. This is good news if you want to write custom code on your

  • Cでのポインタの読み方

    Cでのポインタの読み方 Cのポインタの読み方は、ルールを知らないと摩訶不思議です。 ルールを覚えれば、 int (*p[5])[3]; char (*(*fp)(void))(int); なんてのも解読する事ができます。 大事な前程 ポインタを読む際には、「英語で読む」必要があります。 「え~、英語~」 と思う方もいるかもしれませんが、逆に日語で読む方が大変です。 基ルール ルール 後置演算子が優先。 関数の() 配列の[] 前置はあとで。 要は、「後ろに何かあったら、後ろが優先」です。 演算子の英語での読み方 * pointer to ... () function returning ... [] array of ... Lesson 1 まず、演算子が単独で出てくる場合です。 Lesson 1-1 pointer to ... int *p; これは、まずpを見ましょう。 i

  • ポインタと配列 - A Day In The Life

    C言語のポインタと配列について理解があいまいなところがあったので整理します。 ↓のコードがそもそもの混乱の原因です。 int main() { int a[] = {1,2,3}; int *b = a; : return 0; } ↓だと混乱しないのですが...。 int main() { int a[] = {1,2,3}; int *b = &(a[0]); : return 0; } 配列名だけだと配列の先頭アドレスを指すのでint *b = a;とint *b = &(a[0]);って同じことやってるんですね。 はじめのコードだけ見るとポインタと配列って同じじゃないかと錯覚してしまいます。 このあたりの疑問はポインタはメモリのアドレスさしてるだけだってことと、メモリのどこ(スタックorヒープor静的領域)を使ってるのか意識することでだいぶ理解することができました。Cのメモリ管理の

    ポインタと配列 - A Day In The Life
  • Linuxで使えるC言語ライブラリの総合カタログ - 理想のユーザ・インターフェイスを求めて

    C言語による スーパーLinuxプログラミング Cライブラリの活用と実装・開発テクニック飯尾 淳 ソフトバンククリエイティブ 2011-06-10 売り上げランキング : 91872 Amazonで詳しく見る by G-Tools Linuxでのプログラミングで利用できる、C言語のライブラリをいろいろと紹介している。広く浅く紹介。プログラムのビルドから、オプション解析、データベース、ネットワークプログラミング、科学技術計算、GUI、グラフィックス、テスト手法まで。ライブラリの総合カタログを見ているような感じ。いろいろと知らないことが発見できた。 OpenGLの章で、「二つのメインループ問題*1」に言及しているのは総合カタログならではと思われる。その解決方法として、GtkGLAreaとかGtkGLExt、という先進的なライブラリを紹介しているが、煙に撒かれたようで消化不良だ。 イベントループ

    yuiseki
    yuiseki 2012/01/13
  • TAILQ のソースを読んで C のポインタをマスターする。 - こせきの技術日記

    正月は TAILQ のソースを読んでいた。普段 C を読み書きしないので、とても勉強になった。ポインタの使い方がわかった(ような気持ちになれた)。 TAILQって? TAILQ は C のマクロで書かれた双方向リンクリストの実装。 連結リスト - Wikipedia BSD、OSX や glibc に含まれている。 http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/sys/queue.h.html http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=misc/sys/queue.h;hb=HEAD 基的な使い方は以下のページが参考になった。 Tail queue(TAILQ) C言語系/「デーモン君のソース探検」読書メモ/14, man.conf - Glamenv-S

    TAILQ のソースを読んで C のポインタをマスターする。 - こせきの技術日記
  • Redirect...