タグ

cに関するtztのブックマーク (30)

  • リファクタリングにおけるC言語プログラマーの視点


    CFileCopy  CFileCopy class CFileCopy { typedef bool (*UserCancelFunc)(const CFileCopy&,void*); typedef void (*DirDownFunc)(const CFileCopy&,const char*,void*); typedef void (*DirUpFunc)(const CFileCopy&,const char*,void*); typedef void (*FileCopyStartFunc)(cons
  • 連載記事「生産性向上への道 Eclipseで行うC/C 開発」 ― @IT MONOist

    組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム

  • C言語・C++言語用テスティングフレームワーク - Cutter

    最新リリース 2019-09-13にリリースされた1.2.7が最新です。 [ダウンロード] [変更点] Cutterとは Cutterは書きやすさ・デバッグのしやすさを重視したC言語・C++言語用のテスティングフレームワークです。メンテナンスしやすく、利用効果の高い単体テスト(ユニットテスト)の開発を支援します。 また、テストを苦痛ではなく、楽しいものにすることも重視しています。スクリーンショットはテスト結果の通知機能を利用している様子です。文字としてテストのパス・失敗を伝えるだけではなく、視覚的にも通知することで、テスト結果をわかりやすくします。わかりやすいので、頻繁にテストを実行したくなります。この機能はnotify-sendコマンド(Linuxや*BSDなどの場合)またはgrowlnotifyコマンド(macOSの場合)を利用します。 動作環境 CutterはDebian GNU/L

  • ハードウェアを意識したプログラミングの基礎(後編)


    I/OLinux  1沿 I/OCPU  
    tzt
    tzt 2010/02/13
    アライメントに合わせてアクセスしなきゃいけないCPUでも__attribute__((__packed__))つけるとgccが良しなにコードを生成してくれる。遅いだろうけど。
  • サービス終了のお知らせ


     Yahoo! JAPAN  Yahoo! JAPAN
    tzt
    tzt 2010/02/11
    「静的ローカル変数の初期化は、関数が呼び出されてから行われるのではなく、プログラムの実行開始時点で行われます。」
  • 静的変数の初期化 - (void*)Pないと


    http://www.geocities.jp/ky_webid/cpp/language/019.html C++C++ void func(int num) { static int snum = num; // C++OK } static CC++
    静的変数の初期化 - (void*)Pないと
  • 千葉大学 情報戦略機構

    → 学内ネットワークからのみ閲覧可 Home 申し訳ございません。 このページは学内ネットワークからのみ閲覧可能です。 PAGE TOP

  • 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
  • プログラミング言語 C の新機能

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

    tzt
    tzt 2010/02/05
    restrict ポインタ
  • JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)

    CERT C コーディングスタンダード 00. はじめに 01. プリプロセッサ (PRE) 02. 宣言と初期化 (DCL) 03. 式 (EXP) 04. 整数 (INT) 05. 浮動小数点 (FLP) 06. 配列 (ARR) 07. 文字と文字列 (STR) 08. メモリ管理 (MEM) 09. 入出力 (FIO) 10. 環境 (ENV) 11. シグナル (SIG) 12. エラー処理 (ERR) 13. Application Programming Interface (API) 14. 並行性 (CON) 49. 雑則 (MSC) 50. POSIX (POS) AA. 参考情報 BB. Definitions CC. 未定義の動作 DD. 未規定の動作 XX. お問い合わせ 00はじめに このページでは、JPCERTコーディネーションセンターが翻訳を行っている CE

    JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)
  • EXP39-C. 適合しない型のポインタを使って変数にアクセスしない

    EXP39-C. 適合しない型のポインタを使って変数にアクセスしない 適合しない型のポインタ (unsigned char 以外) を通じて変数を変更すると予期せぬ結果を引き起こす可能性がある。多くの場合、これは別名付け (aliasing) の規則に違反することにより引き起こされる。C 標準 [ISO/IEC 9899:2011] セクション 6.5 のパラグラフ 7 には、オブジェクトの別名付けが行われる、または行われない状況について記載されている。 オブジェクトに格納された値に対するアクセスは,次のうちのいずれか1つの型を持つ左辺値によらなければならない。 オブジェクトの有効型と適合する型 オブジェクトの有効型と適合する型の修飾版 オブジェクトの有効型に対応する符号付き型または符号無し型 オブジェクトの有効型の修飾版に対応する符号付き型または符号無し型 メンバの中に上に列挙した型の1

    EXP39-C. 適合しない型のポインタを使って変数にアクセスしない
  • ホワット・ア・ワンダフル・ワールド strict aliasing rule

    来週からは後期スタートだというのに,生活ペースはメチャクチャ.昨日は 17 時に起きてしまい,今日は 22 時半ごろに起きてしまった今日この頃,皆様いかがお過ごしでしたでしょうか ? まぁ,順調に 6 時間ずつズレているので,明日には元に戻るかなと. しっかし,なんで夜型の方には一瞬で 6 時間とか 12 時間とか平気でズレるのに,朝方の方には意識しないと絶対にズレないんでしょうかね ? まぁ,朝の 3 時とかにバリバリ活動しているってのは,ある意味朝型と言えなくもないような (ことはない). 僕は夜はあんまり生産的な方面にやる気が出ない人なので,夜型になると研究がさっぱり進まないと言う.いろいろ危機です. あと,Debian にテキトーなパッケージをいっぱい突っ込んでいたら,何故か日語の TTF (フォント) が表示されなくなってしまいました.そんなこんなで今はビットマップな生活なんで

  • type punning と strict aliasing - memologue


    /.JGCC-3.4GCC3-O2-fstrict-aliasing(http://slashdot.jp/comments.pl?sid=175355&cid=537217) strict aliasing Radium Software DevelopmentGCC -fstrict-aliasing  aliasing ruleCC++2
    type punning と strict aliasing - memologue
  • OBB vs AABB - Radium Software Development


    iPhone OKiPhone  
  • RAIIもどき in C __attribute__((cleanup(fn)))


    gcc__attribute__((cleanup(fn))) 便 C++RAII使mutexnewdelete void Baz::boo() const { boost::mutex::scoped_lock lock(mutex); // ... return; // lock }Creturn int foo() { pthread_mutex_lock(&mutex); // ... if (hogehoge) { pthread_mutex_unlock
    RAIIもどき in C __attribute__((cleanup(fn)))
  • https://www.hi-matic.org/diary/?20070118

  • ビットシフトの落とし穴 - 算術シフトと論理シフト - 職業としてのプログラミング

    C言語には、ビットシフト演算子というものがあります。左シフト演算子(<<)と右シフト演算子(>>)です。同じビット演算でも、ビット単位の論理和(|)や論理積(&)、NOT(~)等はの方は、フラグ型の変数の処理で使われる事が多い気がしますが、ビットシフトの方は使用されるケースはあまりないかもしれません。 さて、このビットシフト演算子で時々問題になるのが、符号ビットが立っている時の右シフト演算です。見逃されがちなポイントは、 型によって挙動(算術シフトか論理シフトか)がかわることがある C言語の規格として、算術シフトか論理シフトかは不定 Nbitの算術シフトと2のN乗での除算は等価ではない といったところにあります。 算術シフト(shift arithmetic)と論理シフト(shift logical:又は0充填シフト)という言葉をご存知ない方のためにちょっと説明を書いておくと、シフトによっ

  • 最新Cコンパイラーの最適化事情 - Radium Software


    State of the art C compiler optimization tricks, Felix von Leitner, Linux Kongress 2009.  SIMD調   gcc  gcc  
    最新Cコンパイラーの最適化事情 - Radium Software
  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ


     - CC C PerlC++ C 使C C (GCC調C
    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • C++ はなぜ人気がないのか : IT Pro 記者の眼


    20051C++ C++StroustrupC++1994Stroustrup2005C++1 C++Java10C++ C++使
    C++ はなぜ人気がないのか : IT Pro 記者の眼
    tzt
    tzt 2009/07/14
    入門書で「cout << "Hello world." << endl;」を見た瞬間こりゃダメだと思って速攻で見切りをつけた。C++の設計者はヤバイ薬をキメてこの言語を作ったに違いない。