This domain may be for sale!
Transactional Memory in GCC Background Transactional memory is intended to make programming with threads simpler, in particular synchronizing access to data shared between several threads using transactions. As with databases, a transaction is a unit of work that either completes in its entirety or has no effect at all (i.e., transactions execute atomically). Further, transactions are isolated fro
See how well you know (or can anticipate) gcc's optimizer. For each question, the left box contains some code, while the right box contains code that purports to do the same thing, but that illustrates a particular optimization. Will gcc apply that optimization? Put another way, will the code on the left be as fast as the code on the right, when compiled with an optimizing gcc? I used a pretty anc
こんにちは。開発担当の金内です。 Xcode 4 は UI もすっかり変わりましたが、ビルドの要であるコンパイラもデフォルトが変更されています。その新しいコンパイラのキーワードが「LLVM」です。いまいち聞き慣れない方もいると思うので、今回はその LLVM について簡単にご紹介します。 ざっくりとした結論から言ってしまえば、Xcode における LLVM は従来のデフォルトコンパイラである GCC を置き換えるものです。LLVM には次のような特徴があります。 ・コンパイルが速い ・コンパイルされたコードが速い ・エラーメッセージがわかりやすい ・他のツールと連携しやすい いいことばかりですね。 しかし、コンパイラは要となる重要なコンポーネントなので、互換性などへの配慮から、Apple は GCC からの移行を少しずつ段階的に進めています。 実際、Xcode 4.0 でのデフォルトは完全に
LLVM(エルエルヴィーエム、 またはエルエルブイエム)とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。当初は、LLVMの名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが[3]、現在は、何の頭文字でもないとしている[4]。 LLVMは、プラットフォームに依存しない中間表現であるLLVM-IRを生成し、LLVM-IRを特定のマシンの機械語などに変換する。LLVM-IRの段階で、言語やプラットフォームとは独立した最適化を行う。この方法によってLLVMは言語からもアーキテクチャからも独立しており、それぞれに特化した、プログラミング言語固有のモジュールと、マシン向けコード生成部を用意することにより様々な言語アーキテクチャーに対応する。LL
Note: the text on this page was almost entirely written by Niall Douglas, the original author of the patch, and placed on nedprod.com. This copy in the GCC wiki has some corrections that may not be present on Niall's site. Why is the new C++ visibility support so useful? Put simply, it hides most of the ELF symbols which would have previously (and unnecessarily) been public. This means: It very su
unix, gccLD_LIBRARY_PATH環境変数が問題を起こすことは知られているけど(そしてそれを解決する方法も知られているけど)、たとえば/usr/local/BerkeleyDB4.2/includeとかにあるファイルを、シンボリックリンクをはることなしに(今回は張ってごまかしたが…)参照させるにはどうしたらいいんだろう?とりあえず普段コンパイルしている環境の変数リストにincludepathみたいなのはないなあ…
ここでは,GCCの実行時に影響を及ぼす環境変数について記します. ファイルを探索する際に利用されるディレクトリ,または接頭語を指定することによって作用を及ぼします.また,環境変数はコンパイル環境の他の側面を指定するためにも使われます.探索される場所については,-B,-I,-Lのようなオプションを使うことによっても指定可能であることに注意してください(第4回で説明した「ディレクトリ探索のためのオプション」を参照). もちろん,コマンドラインオプションによる指定は,環境変数による指定よりも優先されます.一方,環境変数による指定は,GCCのコンフィグレーションにおける指定よりも優先されます. ● LANG ● LC_CTYPE ● LC_MESSAGES ● LC_ALL 以上の環境変数は,異なる国の慣習をサポートできるようにGCCがローカライズ情報を使う方法をコントロールします. GCCは,c
gcc がデフォルトで検索するヘッダファイルとライブラリの場所は、以下のコマンドで確認することが出来ます。 gcc -print-search-dirs 確認していないので分かりませんが、まあ、基本的には (gcc のインストール先)/include:/usr/include だと思います。 他のディレクトリにインストールされているヘッダファイルを検索するためには -I または -I- オプションを指定する必要があります。(-I- オプションを使っているところは見たことがありません) (ex.1) ヘッダファイルが /usr/local/include に存在する場合 gcc -I/usr/local/include ... (ex.2) ヘッダファイルが /usr/local/include と /opt/app/include に存在する場合 gcc -I/usr/local/incl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く