タグ

Cに関するTMTLのブックマーク (5)

  • C - は「LLですが、なにか?」 - Fabrice Bellard on tcc : 404 Blog Not Found

    2010年08月02日02:30 カテゴリLightweight Languages C - は「LLですが、なにか?」 - Fabrice Bellard on tcc LL Tigerが明けた直後で、文字通りの後の祭りもいいところですが… うれしいものはうれしいので、LLEvalでもサポートはじめました。 #!/usr/bin/tcc -run #include <string.h> char *fizz(int n){ return n % 3 ? "" : "Fizz"; } char *buzz(int n){ return n % 5 ? "" : "Buzz"; } char *fizzbuzz(char *buf, int n){ strcpy(buf, fizz(n)); strcat(buf, buzz(n)); if (!strlen(buf)) sprintf(bu

    C - は「LLですが、なにか?」 - Fabrice Bellard on tcc : 404 Blog Not Found
  • モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人

    まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak

    モダンなC, C++の開発環境の構築方法 - 考える人、コードを書く人
    TMTL
    TMTL 2010/08/01
  • C - で素数を数え直したら、範囲10億で10秒切ったお : 404 Blog Not Found

    2010年07月28日01:30 カテゴリMath C - で素数を数え直したら、範囲10億で10秒切ったお というわけで数え直したら… 404 Blog Not Found:C - で私も素数を数えてみた はてなブックマーク - mohnoのブックマーク「Core i7 な iMac で、10億の範囲を検索するのに1プロセス300秒前後」←遅いってこと? エラトステネスのふるいで、原田氏の記事でも10億なら2分(Core i7 920)、私の手元では20秒(Core 2 Duo E6850)だったんだけど。 10秒を切ってしまったので。 次にアルゴリズムであるが、いろいろいじってみた結果こうした。 まず p < 256 な小さな素数でエラトステネスのふるいにかけ 次にMiller-Rabin素数判定法を適用する これは「個々の64bit整数が素数かどうか」を判定するのには(素数表を引くこ

    C - で素数を数え直したら、範囲10億で10秒切ったお : 404 Blog Not Found
  • (gc)c - block?それってnested functionで出来るよ! : 404 Blog Not Found

    2010年05月13日04:00 カテゴリLightweight Languages (gc)c - block?それってnested functionで出来るよ! 残念ながらBlocksが使えるのはOS Xのみであるが… Binary Hacks 高林哲 / 鵜飼文敏 / 佐藤祐介 / 浜地慎一郎 / 首藤一幸 PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.orgOS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 gccであれば、Nested Functions というものが使える。 例えば、以下はcodepadでも動く。 http://codepad.org/V3uDduYT #include <stdio.h> int main(int argc, char*

    (gc)c - block?それってnested functionで出来るよ! : 404 Blog Not Found
    TMTL
    TMTL 2010/05/13
  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

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

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