タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

gccに関するnauthizのブックマーク (2)

  • GCCのi386/x86-64向けCPU別の最適化オプション(GCC 4.2.0) - kidminの日記

    簡単なまとめ。 参考: http://gcc.gnu.org/onlinedocs/gcc-4.2.0/gcc/i386-and-x86_002d64-Options.html 検索サイトから飛んできた方へ: 特定のCPU向けの最適オプションをお探しでしたら、Safe Cflags - Gentoo Linux Wikiの下にあるProcessor Specific CFLAGSをご覧ください。 CPUの種類 -mtune=(cputype) 生成するコードを指定されたCPU向けに最適化(ABIと命令セット以外)します。-mcpuと同義です。 -march=(cputype) 指定されたCPU だけで動作するようなコードを生成します。-mtuneも同時に指定されます。 -marchでは、CPUの種類としてgenericを指定することはできません。 このオプションを指定しない場合、コンパイラ

    GCCのi386/x86-64向けCPU別の最適化オプション(GCC 4.2.0) - kidminの日記
    nauthiz
    nauthiz 2011/01/11
    「GCCのi386/x86-64向けCPU別の最適化オプション(GCC 4.2.0)」
  • いやなブログ: Linux の共有ライブラリを作るとき PIC でコンパイルするのはなぜか

    Linux の共有ライブラリを作るとき PIC でコンパイルするのはなぜか 通常、Linux の共有ライブラリを作るときは各 .c ファイルを PIC (Position Independent Code) となるようコンパイルします。しかし、実は PIC でコンパイルしなくても共有ライブラリは作れます。それでは PIC にする意味はあるのでしょうか。 さっそく実験してみます。 int func () { printf(""); printf(""); printf(""); } PIC でコンパイルするには gcc に -fpic または -fPIC を渡します。-fpic の方が小さく高速なコードを生成する可能性がありますが、プロセッサによっては -fpic で生成できる GOT (Global Offset Table) のサイズに制限があります。一方、-fPIC はどのプロセッサで

    nauthiz
    nauthiz 2011/01/11
    Linuxで共有ライブラリを作る時は-fPICを指定するべし。非PICでは実行時の再配置に時間がかかり、他のプロセスとテキストが共有できず、サイズもかさむ。
  • 1