タグ

2008年4月5日のブックマーク (5件)

  • ホワット・ア・ワンダフル・ワールド C の構文の変態さ

    そもそも C に文字列型なんてありません.文字列みたいなアレは,文字の配列型です. ポインタと配列型は,全く違うものです.そもそも typeof (GCC 拡張) で取れる型が違う,sizeof で取れるオブジェクトサイズも違う. まぁ,文字列リテラルが存在していて,唯一複合型なのに静的 (static) 領域に初期化して置いとくことができたりして,いろいろややこしいのですが. あと,配列の要素アクセスは,常にポインタ演算経由で行われるのも,ややこしいところですね.配列とポインタを同一視してしまうというもっともありがちな混乱は,ここに由来するのだと思います.アセンブリ言語のレベルでは,配列なんていう高級な概念は存在しなくて,メモリと番地しかありません.ポインタは番地を入れる変数 (メモリやレジスタ) そんなこんなで,もともとアセンブリに由来する C は同じことを表現する方法が非常にたくさん

    kohagi
    kohagi 2008/04/05
  • 幕末古写真ジェネレーター -写真を江戸時代〜明治時代の古写真ぽくします-

    SimpleViewer requires Macromedia Flash. Get Macromedia Flash. If you have Flash installed 幕末古写真ジェネレーターではその名の通り、お手持ちの写真をアップロードすればどんな写真でも江戸時代〜明治時代にかけて撮影されたような幕末の古写真風に変換します。是非いろんな写真使って楽しんでみてください。 お寺や神社などの昔ながらの建物、着物姿の写真を変換するととてもリアルな古写真風になりますが、逆に今風な写真をあえて変換してみるのも面白い写真ができあがって良いですよ!

    kohagi
    kohagi 2008/04/05
  • const char* const p = "ABC"; と const char q[] = "ABC"; はどちらがよいか、みたいな与太 - memologue

    諸事情あって、ふと前に読んだドキュメントに書いてあった細かいことが気になった。いやいつも細かいけど。 const char* const p = "ABC";より const char q[] = "ABC";のほうがいいのか?的な話。後者の方が良いらしいので、確認するととともに、すぐになんでも書くのはどうなんだと思いつつも無駄に細かく解説。いろいろ間違ってたらゴメンナサイ。C言語入門? 先に結論 共有ライブラリやPIEな実行ファイルを作る場合は、後者の書き方(const char q[] = "xxx")のほうが良さそうですね。PIEじゃない単なる実行ファイルを作るときは、最適化かけるならあんまりかわらないかも。 比較1) コンパイル時の最適化の効きやすさ 最適化といってもいろいろありますが、↓に限って言えば、const char q[] のほうが効きやすいようですね。 gcc vers

    const char* const p = "ABC"; と const char q[] = "ABC"; はどちらがよいか、みたいな与太 - memologue
    kohagi
    kohagi 2008/04/05
  • 合体式の英国の新硬貨がイカス | fladdict

    公募デザインで決定したイギリスの新貨幣、モダンすぎてイカス。 全部の模様をあわせると、イギリスの紋章になるという趣向。コイン1枚ごとでみるとトリミングされてて不思議な感じなのがよい。 デザイナは若干26歳のMatthew Dent。

    kohagi
    kohagi 2008/04/05
    テレビで見たけど、こういうことだったとは。
  • Project Euler - PukiWiki

    Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑

    kohagi
    kohagi 2008/04/05