タグ

gccとC++に関するrydotのブックマーク (5)

  • いやなブログ: 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 はどのプロセッサで

  • 着想から13年、Googleから5倍早いGNUリンカの新実装が登場 - いつか書く

    面白かったので言及してみる。ちなみにまだググってない。 gold: Google Releases New and Improved GCC Linker | Google Open Source Blog Googleの中の人であるIan Lance Taylor氏が、GNUリンカを一から書き直した新実装「gold」をリリースした。既にbinutilsのHEADでは、configure時に「--enable-gold」を指定することで(従来のGNU ldに代わって)利用できるそうだ。 goldの売りは一点、高速性。氏によると、でかいC++アプリのリンクは五倍程度高速になるのを確認済らしい。またgold自体もC++で書かれていて、5万行しかないらしい。これってかなり小さいですよね? ただし現在、goldが使える環境はELF+x86/x64のみだそうだ。その点まだ未熟だが、当然Google

    着想から13年、Googleから5倍早いGNUリンカの新実装が登場 - いつか書く
    rydot
    rydot 2013/08/10
  • GCCで日本語識別子を使う | 株式会社きじねこ

    GCCで日語識別子を使う方法について、日語の情報はあまり見かけませんので書き留めておきます。 バージョン4.1.xから-fextended-identifiersというコンパイルオプションが追加されています。現時点では実験的なもののようですが、特に問題なく動作しています。この-fextended-identifiersというのは、日語の識別子を直接使えるようにするオプションではありません。できることは、国際文字名を有効にすることだけです。 国際文字名というのは、\uXXXXまたは\UXXXXXXXX(Xの部分は16進数字)の形式でUTF-16またはUTF-32の値を直接指定する書式です。変数名や関数名などの識別子に対しても、この国際文字名が使えるようになったというわけです。 以前から、gcd(GNU版のDコンパイラ)を使った場合には、UTF-8で日語の識別子を書いた場合、アセンブリ

  • OpenMPの使い方:tech.ckme.co.jp

    OpenMPは複数のCPU(複数コアを含む)を持った計算機上での並列化に威力を発揮する。 OpenMPを使う最大の利点は、OpenMPに対応したコンパイラであれば、非常に簡単に並列化できる点である。 現在、gcc、Visual C++、およびIntelコンパイラなど主要なコンパイラはOpenMPに対応している。 習得も他の並列化技法に比べて比較的容易である。 なお、速度を最優先にする場合、単一コンピュータ上で動かした場合でも、メモリのローカリティのためかOpenMPよりMPIの方が効率のよいことが多い。MPIに関してはこちらを参照。 なお、インテルがOpenMP初心者向けに非常にわかりやすい文書を公開している。 OpenMPプログラムのコンパイル OpenMPの各種関数を使わない場合、#pragma ompで始まる指示をソースコード内に書き込み、下記のコンパイルスイッチをつけてコンパイルす

  • Page Redirection - GNU Project

    This page has been incorporated into another. If you are not redirected automatically, click here. For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at gcc@gcc.gnu.org. All of our lists have public archi

  • 1