タグ

Cに関するkhiroakiのブックマーク (11)

  • CINT | ROOT a Data analysis Framework

    Status CERN has switch to a new interpreter, cling. CINT is not supported by CERN anymore; it's now back to its original inventor, Masaharu Goto. Please check here for CINT. The remainder of this page is purely historical. What is CINT? CINT is an interpreter for C and C++ code. It is useful e.g. for situations where rapid development is more important than execution time. Using an interpreter the

  • iglooとcmakeを使ったC言語でのBDDワークフロー - Qiita

    [サマリ]C/C++でBDDしたいならiglooとcmakeの組み合わせがオススメです 日語だとびっくりするくらい情報が無いですが、Stackoverflowだとちょくちょく名前が出てきています => igloo - BDD Style Unit Testing for C++ xUnit系だとgoogletestがほぼ鉄板になりつつありそうな雰囲気がしますが、BDD系だと鉄板だといえるのが出ていない感あります。CSpec/CppSpecなどが候補に上がりますが、マクロがDSLとして作られすぎているとか、C言語のライブラリへのテストに向かないような仕様になっているものとかもあり。 そこで探していたところ、iglooがC言語でBDDするのにも対応できそうだし、DSLとしてのシンタックスも簡易で、何よりインストール不要でgit submoduleでブチ込めばすぐに使えるというのが気に入りまし

    iglooとcmakeを使ったC言語でのBDDワークフロー - Qiita
  • do { 〜 } while (0) なマクロ - にたまごほうれん草アーカイブ

    複数の式からなる関数マクロに、こんな表現があった。 #define nullcheck(x) do { \ if (x == NULL) { \ printf("NULL!\n"); \ } else { \ printf("not NULL!\n"); \ } \ } while(0) なぜdo〜while(0)で囲ってあるのかと思ったが、こうすることによって文末のセミコロンが抜けた場合にコンパイルが通ってしまうことを避けられるから、のらしい。 /* コンパイル通る */ #define nullcheck1(x) if (x == NULL) { \ printf("NULL!\n"); \ } else { \ printf("not NULL!\n"); \ } int main(int argc, char* argv[]) { int *x = NULL; nullcheck1

    do { 〜 } while (0) なマクロ - にたまごほうれん草アーカイブ
  • 杉浦とソフトウェア開発

    杉浦とソフトウェア開発 ダウンローダをお使いの皆様へ そういえば、秀和システム様より、筆者の「対戦型五目並べ」が、デザパタ入門書として「あなたのコードを[賢く]するデザインパターン Java プログラミング」というタイトルで出版されることになった。7月中旬に店頭に並ぶ予定である。定価は2800円と決まった。著者のクセにシレっと言ってしまうが、内容比だと相当にお買い得だな。ぜひぜひ買ってくれたまえ。より詳しくは→「あなたのコードを[賢く]するデザインパターン Java プログラミング」 私は古手のプログラマである。学生時代から、プログラマ以外のバイトをしたことがない。今まで書いたことのある言語というと、Basic, C, Fortran, Cobol, Scheme, C++, Java, Intel Assembler, Perl, Tcl/Tk, PostScript あたりか。あ、ほと

  • The C Programming Language Answers To Exercises

    "The C Programming Language", 2nd edition, Kernighan and Ritchie Answers to Exercises Maintained by Richard Heathfield Last updated: 12 March 2002 This site was inaugurated on 1 January 2000 as a repository for definitive answers to the exercises in "The C Programming Language" by Kernighan and Ritchie (2nd edition) - ISBN 0-13-110362-8. Since it's a relatively new site, not all of the exercises

  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • 参照とポインタ

    この文章はプログラマでもプログラミング言語の専門家でもないただのプログラミング好きの私が適当に書きつづったものです。よってこの文章には正しい箇所もあるでしょうが、間違っている箇所もかなりあるはずです。ご指摘いただけたらと思います。また、この文章を読んでも内容を鵜呑みにしないでください。鵜呑みにした結果何か起きても知りません。 "諸悪の根元"-ポインタ Cの特徴の1つとして、また初心者が必ずつまずく(*)とされる難所としてポインタがあげられるわけだが、ポインタはどうも最新流行のプログラミング手法の中では諸悪の根元として忌み嫌われているようだ。 (*) 自慢するわけではないのだが、私は別にポインタでつまずいた記憶はない。もちろん、効果的な使い方などはその後いろいろなコードを読んでいく中で身に付いていったわけだが。 ポインタは確かに諸刃の剣である。非常に便利な反面、危険でもある。例えば次のような

  • #if 0ハックすごくね?すげーってw - Seasons.NET

    #If 0ってC,C++では、#endifまで問答無用でコメントにしますが、 これを使ったハックがすごく便利。 元ネタ http://gpwiki.org/index.php/SDL:Tutorial:Using_SDL_net #if 0 #!/bin/sh gcc -o a a.c exit #endif int main( void ) { printf( "Hello\n"); return 1; } これを保存して、実行属性をつけてから(chmod 755とか) ターミナルで、 # ./a.c と打ち込むと、 aという実行ファイルが生成される。 んで、./aと打ち込むと Helloと表示される。 今までは、Makefileか直接、gcc -o a a.cとかやっていた作業が、 ソースコード+Makefileの代わりになるわけ。 なぜこんな事ができるかってーと、 shのシェルスクリ

    #if 0ハックすごくね?すげーってw - Seasons.NET
  • プログラミング - WisdomSoft

    C 言語入門 世界中で使われている最も基的なプログラミング言語です。 C++ 入門 C 言語を継承し、オブジェクト指向を導入した高度な言語です。 C# 言語入門 Microsoft の洗練されたオブジェクト指向言語です。 D 言語入門 最新の設計思想が導入されている実践向け開発言語です。 Java 言語入門 Sun が開発した有名なオブジェクト指向言語です。 Objective-C入門 GCC で実装されているオブジェクト指向型 C 言語です。 Lisp入門 人工知能の研究や教育に使われるプログラミング言語です。 Perl 言語入門 多くのシステムで整備されている高度なスクリプトです。 PHP入門 近年、Webを中心に幅広く利用されている組み込み言語です。 アセンブリ 言語入門 アセンブリは機械語に直結した言語です。

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • C言語入門 - WisdomSoft

    ここで紹介されるプログラムは Windows98SE VC++6.0、またはBorland C++ Compiler 5.5を使って動作実験されています それ以外の環境では、一部正常に動作しない可能性があります

  • 1