タグ

まとめとCに関するiwwのブックマーク (11)

  • 組込み開発向け C言語コーディング規約 | 組込みエンジニアの思うところ

    このc言語コーディング規約の目的 このc言語コーディング規約は、組込みソフトウェア向けのC言語コーディング規約について説明します。
C言語の規格には理解しづらい規則が多くあり、それを知らずにコーディングしてバグを出してしまうことがままあります。C言語の規格を理解すればそのようなバグは避けられますが、難解な規格書を読破するには多くの時間を費やさねばなりません。そこでこの書籍では、C言語コーディング規約としてC言語の間違えやすいところを選別して記載し、開発者のみなさんがC言語の細微の規則を理解する手間を省けるようにしています。 つまり、開発者の皆様にこの文書の規約を守っていただくことで、瑣末なC言語の文法的な規則を気にせずに付加価値を高めるための作業に専念していただくことを目的としています。

    組込み開発向け C言語コーディング規約 | 組込みエンジニアの思うところ
  • 組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined

    もう終わりそうですけど、4月ですしこれから組み込み業界へ向かうかたへ自分がこのよかったなーって思ったのをいくつかピックアップしてみます。ただ、一言に『組み込み』と言っても幅広くて分野によって求められる知識は結構変わってくると思いますが、ベースは一緒だろうと思います。 ちなみに自分はCPUはRL78、Cortex-M0、Cortex-M3、Rx、SH、Cortex-A9、FPGAは最大でも7000LUT程度のレンジのハードウェア設計をやってきました。今はZynqや大規模FPGA開発に携わりたいと思っています。 以下に挙げていきますが、オススメがあれば是非教えていただきたいです。 ※順番に意味はありません。 CPUの創りかた CPUの創りかた 作者: 渡波郁出版社/メーカー: 毎日コミュニケーションズ発売日: 2003/10/01メディア: 単行(ソフトカバー)購入: 35人 クリック:

    組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined
  • Worse Is Better

    Lisp: Good News, Bad News, How to Win BigLisp: 良い知らせ、悪い知らせ、大成功への提言 Richard P. GabrielRichard P. Gabriel Lucid, IncLucid, Inc (Original article: Lisp: Good News, Bad News, How to Win Big. Japanese translation by Hisashi Morita.) This article was originally published in 1991.この記事は当初1991年に公表された。 Abstract要約 Lisp has done quite well over the last ten years: becoming nearly standardized, forming the bas

    iww
    iww 2015/02/20
    PC loser-ing問題 について。 selectでブロックしてるときとかに全然関係ない割込みの余波で起こされてEINTRになるアレ。EINTRだったらエラー無視してリトライとかよくやるやつ。
  • 静的解析フリーツール/固有値解析フリーソフト最新ダウンロード情報

    Java静的解析・C言語/C#/C++静的解析・ソースコードの静的解析などに用いるフリーツールや、固有値の解析や計算に役立つフリーソフトの最新情報を集めました。 有用なシェアウェアの無料試用版に関する情報も併せて掲載しています。 ■Dehydra■(https://developer.mozilla.org/en/Dehydra) この静的解析ツールの特長: 「Dehydra」は、無料ダウンロードできるC++静的解析ツールで、GCCの型情報などをユーザーのJavaScriptコードに引き渡す役割を果たします。オブジェクトコードは再びGCCに戻すことは不可能で、最適化はできないものの、C++静的解析を行う機能としては十分でしょう。制御構造なども調べる必要がある場合は、「Treehydra」(https://developer.mozilla.org/en/Treehydra)が有効です。Li

  • C言語の単体テスト、いろいろ - ソフトウェアテストの勉強室

    ある意味、餃子ブームだ。 == メールサーバってCだから、C向けのテスト手法はいろいろと調べたりすることが多いし、自分でツールを作ったりします。せっかく調べたので、C言語をターゲットとした単体テスト/ユニットテストツールを枚挙してみる。 CUnit http://sourceforge.net/projects/cunit/によるユニットテストフレームワーク。出力に「__FILE__」「__LINE__」を記載して、分析しやすく結果を表現する。XML出力モード(Automatedモード)で実行し、DTDとXSLスタイルシートによって、統計情報が見やすくなる。 CUnit for Mr.Ando 安藤利和さんによる「言語技術者のC言語技術者によるC言語技術者のための C言語テスティングフレームワーク」。ソースはhttp://sourceforge.jp/projects/cunitforan

    C言語の単体テスト、いろいろ - ソフトウェアテストの勉強室
  • 定義済みマクロ - redstrange Wiki*

    標準規格 C言語 __DATE__ ソースのコンパイル日付 __FILE__ ソースのファイル名 __func__ 関数名(Visual Studio.NET以降では、__FUNCTION__) __LINE__ 行番号 __STDC__ 標準Cに従っている際に定義されている(ifdefで使う) __STDC_HOSTED__ 整数1 __STDC_IEC_559__ IEC60559浮動小数点仕様に従っている際に定義されている __STDC_IEC_559_COMPLEX__ IEC60559互換の複素数仕様に従っている際に定義されている __STDC_ISO_10646__ ?→http://seclan.dll.jp/c99d/c99d02.htm#dt19990412 __STDC_VERSION__ C言語のバージョン __TIME__ ソースのコンパイル時刻 __TIMESTA

    定義済みマクロ - redstrange Wiki*
  • プログラミング言語 C の新機能

    7. 文法一般 この章では C 言語に新たに加えられた指示付きの初期化子や複合リテラルといった文法や、暗黙時の宣言に関する変更といった、変更された文法について説明します。 7.1 暗黙の関数宣言 現在の C 言語の規格では、ある関数から他の関数を呼び出す時、とくにその関数のプロトタイプを宣言しなくても使用することができました。例えば stdio.h を読み込まずに、printf を使用するといったことです。しかし、今度の C 言語ではそのような場合、その関数の呼び出しは規格上未定義の動作となります。ただ実際には多くの処理系では警告を出してコンパイルするよう実装されることでしょう。この辺の機能は C++ に近くなっていますね。 7.2 宣言時の暗黙の型 手続き型言語では、一般的に変数や関数などを宣言して使用する必要があります。もちろん C 言語も例外ではありません。しかし C 言語では特に型

    iww
    iww 2010/02/22
  • Tera Termソースコード解説

    Tera Termソースコード解説 はじめに 必要スキル モジュール構成 ライブラリ構成 プラグインサポート 設定ファイルの読み書き セキュアプログラミング 古いバージョンのWindowsとの互換性維持 デバッグ手法 マルチスレッド DDEによるプロセス間通信 TTSSHによるSSHの設計と実装 マクロ言語の設計と実装 キャレット制御 シリアルポート バイナリ転送プロトコル はじめに 文書では、Tera Termのソースコードについて解説をします。解説対象とするソースコードはバージョン"4.58"(2008年2月現在)のものをベースとしています。 必要スキル Tera Termのパッケージに含まれるほとんどのプログラムは、C言語で記述されています。一部のコードはC++言語で、MFC(Microsoft Foundation Class)が利用されています。Windows特有の処理を行うた

  • phkmalloc

    phk mallocとは Poul-Henning Kamp氏が開発したmallocの実装です。 つい最近(2007年ごろ)、*BSDではjemallocを使うようになりましたが、それまで主流だったのがphk mallocです。 このドキュメントは、phk mallocの実装の概要を説明しています。 以下の文章で、mallocライブラリとはphk mallocの事を指します。 OSからメモリを取得するのは、ページ単位 プログラムがOSからメモリをもらう場合、ページと呼ばれる単位でもらいます。 +---------------+ | | | 1 ページ | | | +---------------+ ページのサイズは4KB(※OSやCPUに依存)固定で、この倍数でしかメモリをもらう事はできません。 malloc()では当然4KB以外のサイズのメモリを割り当てる事ができ、ユーザープログラムは

  • 情報処理推進機構:情報セキュリティ:調査・研究報告書:情報セキュリティ技術動向調査(2008 年下期) 5 テンポラリファイルの扱い

    2008年下期には、Perl の File::Path モジュールの rmtree 関数に関する CVE が 3件発表された。 (CVE-2008-2827, CVE-2008-5302, CVE-2008-5303)また、symlink attack に関する CVE は 100件以上出ている。 テンポラリファイルの扱いに関する問題は古くからあるが、いまだに多くの問題が発生する。そこで稿ではテンポラリファイルの扱いかたについて解説する。また、安全な削除に利用できる新しいシステムコールが提案されているので、それについても触れる。 テンポラリファイルはプログラムが一時的に利用するファイルである。 Unix においては /tmp や /var/tmp というディレクトリが提供されており、すべてのユーザがそのディレクトリ下にテンポラリファイルを生成・削除するのが慣習である。稿では、これらのデ

    iww
    iww 2009/09/29
    /tmpとかの話
  • Linux Tutorial: POSIX Threads

    POSIX thread (pthread) libraries The POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor or multi-core systems where the process flow can be scheduled to run on another processor thus gaining speed through parallel or distributed processing. Threads require less overhead than "forking" or s

  • 1