タグ

雑学と最適化に関するiwwのブックマーク (3)

  • KMC Staff Blog:gccのビルトイン関数 (printf)

    2009年07月03日 gccのビルトイン関数 (printf) gccのtipsを紹介します。主にgcc3.x からgcc4.x で変わっているところです。 #include <stdio.h> int main() { printf("Hello, world!\n"); } このプログラムはgcc3では普通にprintfを呼び出すコードを生成しますが、gcc4ではどうなるでしょうか。ARM版のexeGCC4でちょっと試してみます。 > gcc -S hello.c 生成されたhello.s を見てみると ... .LC0: .ascii "Hello, world!\000" .text .align 2 .global main .type main, %function main: @ args = 0, pretend = 0, frame = 8 @ frame_needed

  • 仏滅上等: ナルトの走り方と坊主の作法

    世界の子供たちに人気の日の「ナルト」って忍者の漫画があるんですが、この漫画の中で 登場するキャラクターたちが 時々 腕を後に向けて走ってるんです。 そのことについて 海外のナルトファンの人たちが 自分の持ちうる日の知識や忍者の知識、運動や人体の構造なんかの知識をいろいろ出し合って いろいろ話し合っているみたいです。(クリックで飛びます→<海外アニメファンの疑問>「なぜナルトたちは腕を後にむけて走る?」。なんか、楽しそうですねえ、興味深いですねえ。 思えばあたしも子供の頃、「怪獣を倒した後、飛んでいくウルトラマンことハヤタ隊員がどうやって地上にもどってくるのか?」とか「妖怪人間ベムは 妖怪の意味を間違っている!」 なんてどうでもいいことを友達とああでもない、こうでもないと話あったもんです。 あれから 僕たちは何かを信じて来れたかなあ・・・・ などとセンチメンタルカンガルーな秋の夜長、みな

  • 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
    iww
    iww 2006/11/07
    const char p[] = "hello";
  • 1