タグ

gccに関するnilabのブックマーク (15)

  • Xcode 4 でデフォルトになった LLVM って何?

    こんにちは。開発担当の金内です。 Xcode 4 は UI もすっかり変わりましたが、ビルドの要であるコンパイラもデフォルトが変更されています。その新しいコンパイラのキーワードが「LLVM」です。いまいち聞き慣れない方もいると思うので、今回はその LLVM について簡単にご紹介します。 ざっくりとした結論から言ってしまえば、Xcode における LLVM は従来のデフォルトコンパイラである GCC を置き換えるものです。LLVM には次のような特徴があります。 ・コンパイルが速い ・コンパイルされたコードが速い ・エラーメッセージがわかりやすい ・他のツールと連携しやすい いいことばかりですね。 しかし、コンパイラは要となる重要なコンポーネントなので、互換性などへの配慮から、Apple は GCC からの移行を少しずつ段階的に進めています。 実際、Xcode 4.0 でのデフォルトは完全に

    Xcode 4 でデフォルトになった LLVM って何?
    nilab
    nilab 2012/03/12
    Xcode 4 でデフォルトになった LLVM って何? (フェンリル | デベロッパーズブログ)
  • Using and Porting the GNU Compiler Collection (GCC) - GCCコマンド・オプション

    GCCを起動すると、 通常は、 前処理(preprocessing)、 コンパイル、 アセンブル、 リンクが行われます。 「全体的(overall)オプション」によって、 この一連の処理を中途の段階で停止することができます。 例えば、 `-c'オプションはリンカを起動しないよう指示するものです。 この場合、 アセンブラによって生成されるオブジェクト・ファイルが出力となります。 他のオプションは、 一連の処理の中の1つの段階に渡されるものです。 オプションの中には、 プリプロセッサを制御するものもあり、 コンパイラ自体を制御するものもあります。 また、 アセンブラやリンカを制御するオプションもありますが、 それらのほとんどは、 ここではドキュメント化されていません。 というのは、 このようなオプションを使うことが必要になることはめったにないからです。 GCCにおいて使うことのできるコマンドラ

    nilab
    nilab 2012/01/27
    Using and Porting the GNU Compiler Collection (GCC) - GCCコマンド・オプション : ディレクトリ探索のためのオプション 『-I』 ハイフンI, ハイフンアイ
  • フリーソフトウェア徹底活用講座(5)

    ここでは,GCCの実行時に影響を及ぼす環境変数について記します. ファイルを探索する際に利用されるディレクトリ,または接頭語を指定することによって作用を及ぼします.また,環境変数はコンパイル環境の他の側面を指定するためにも使われます.探索される場所については,-B,-I,-Lのようなオプションを使うことによっても指定可能であることに注意してください(第4回で説明した「ディレクトリ探索のためのオプション」を参照). もちろん,コマンドラインオプションによる指定は,環境変数による指定よりも優先されます.一方,環境変数による指定は,GCCのコンフィグレーションにおける指定よりも優先されます. ● LANG ● LC_CTYPE ● LC_MESSAGES ● LC_ALL 以上の環境変数は,異なる国の慣習をサポートできるようにGCCがローカライズ情報を使う方法をコントロールします. GCCは,c

    nilab
    nilab 2011/11/30
    フリーソフトウェア徹底活用講座(5) : GCCの実行時に影響を及ぼす環境変数
  • 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

    nilab
    nilab 2011/11/30
    C++0x/C++11 Support in GCC - GNU Project - Free Software Foundation (FSF)
  • Cygwinでのgccの3系と4系の共存と切り替え : フレイドフォートonBlog

    Cygwinでは現在gccは3系と4系の 2種類のバージョンが提供されている。 なお現在の両者のバージョンは以下の通り。 gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) gcc version 4.3.4 20090804 (release) 1 (GCC) 以前、Cygwinでのgccの4系についての 記事を書いたが、その追加情報である。 アップデートしたらgccの4系が優先されていたのを 確認したので共存しているはずのgccの3系が どうなったかと思って調べる為に 以下のコマンドで検索した。 ls -l /usr/bin/ | grep gcc そうするとgcc-3というコマンドが ある事に気づいた。これで3系も使える。 あぁ、4系メインに切り替わったんだなと思った・・・ 矢先に出力した一覧の中に妙な名前のフ

    Cygwinでのgccの3系と4系の共存と切り替え : フレイドフォートonBlog
    nilab
    nilab 2011/11/16
    フレイドフォートonBlog : Cygwinでのgccの3系と4系の共存と切り替え : set-gcc-default-3.sh : set-gcc-default-4.sh : バージョン切り替え
  • cygwin gccでの_WinMain@16 - OKWAVE

    Windowsコモンコントロールのcygwin/gccコンパイルエラー 以下のサイトのようなWindowsコモンコントロールのプログラムをcygwin/gccコンパイルするとエラーがでます。 (sourceのサイト) http://wisdom.sakura.ne.jp/system/winapi/common/common16.html (ビルドコマンド) gcc -mwindows -mno-cygwin -o main.exe main.cpp (エラー出力) undefined reference to `_ImageList_Destroy@4' undefined reference to `_InitCommonControls@0' undefined reference to `_ImageList_Create@20' undefined reference to `_

    cygwin gccでの_WinMain@16 - OKWAVE
    nilab
    nilab 2011/11/09
    main関数が無いときのエラー。 undefined reference to `_WinMain@16` / cygwin gccでの_WinMain@16 | OKWave
  • Undefined Symbol ___gxx_personality_v0 on link

    nilab
    nilab 2011/10/31
    c++ - Undefined Symbol ___gxx_personality_v0 on link - Stack Overflow : gcc test.cpp -lstdc++
  • C++:GCCにおける名前空間の実装 - しまうま技研

    稿執筆時点でのGCCの最新版(いわゆるstable release)は4.1.1であるが、私が会社で管理しているサーバには、環境を構築した時期の関係で少々古いもの(2.95)が入っている。 以前、このバージョンを使っていて、名前空間まわりの仕様が標準と違うことに気付いた。 意外に思ってネットで調べてみたが、その事に触れた文書が見つからない。 その事がさらに意外に思えたので、ここにその辺の事をまとめておこうと思う。 GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation (FSF) GCC 2.95 - GNU Project - Free Software Foundation (FSF) C++の入門書には、取っ掛かりとして伝統的な"Hello, world"プログラムを例示することが多い。 /

    C++:GCCにおける名前空間の実装 - しまうま技研
    nilab
    nilab 2011/10/28
    C++:GCCにおける名前空間の実装 - しまうま技研
  • Electric Fence freecode日本語情報ページ - OSDN

    Electric Fence(efence)は、malloc()のメモリバッファでオーバーラン(またはアンダーラン)を正確に起こす命令であなたのプログラムを停止します。。続いてGDBはバグを起こすソースコード行を表示します。仮想メモリのハードウェアを使用して各バッファの境界にレッドゾーンを作成し、それにタッチし、あなたのプログラムが停止します。長年にわたってあなたを悩ませている、これらの以前は捕捉不可能だった全てのオーバーランのバグをキャッチします。

    Electric Fence freecode日本語情報ページ - OSDN
    nilab
    nilab 2011/09/20
    「Electric Fence(efence)は、malloc()のメモリバッファでオーバーラン(またはアンダーラン)を正確に起こす命令であなたのプログラムを停止します。。続いてGDBはバグを起こすソースコード行を表示します」Electric Fence
  • gcc のデバッグ術

    Unix系コマンドラインユーザーのための、 gcc/g++/g77 による開発におけるデバッグ術を簡単に紹介します。 以下の内容は gcc 2.7.2.3 での動作は確認しています。 g++/g77 でも恐らくは通用すると思うのですが、 ひょっとすると異なる部分があるかもしれません。 筆者は g++/g77 の使用経験がないので、その場合は御容赦を願います。 実行前 キーワード「コンパイルオプション, -Wall, -O2, -O4」 まずは gcc にオプション opt'-Wall' を付けてコンパイルし、 警告がなくなるまでソースを修正します。 これは 常識 です。 次に opt'-O4 -Wall' でコンパイルします。 「未初期化変数の使用」の警告 (`foo' might be used uninitialized in this function) は、 opt'-O4' を付

    nilab
    nilab 2011/09/20
    gcc のデバッグ術 : 「"A malloc(3) debugger" である ElectricFence」
  • サービス終了のお知らせ

    nilab
    nilab 2011/01/12
    「/bin/set-gcc-default-3.sh」「注)実行権が設定されてないので chmod 777 set-gcc-default-3.sh」cygwinのgccバージョン切り替え・GCCをver4 -> ver3へ - 気軽に使おうよ SV & VMM & OVM & SPIN - Yahoo!ブログ
  • GCC 3.4 Release Series - GNU Project

    nilab
    nilab 2011/01/12
    GCC 3.4.6 が "a bug-fix release" で "the last of the 3.4.x series" らしい。 / GCC 3.4 Release Series - GNU Project - Free Software Foundation (FSF)
  • GCC Releases - GNU Project

    Download GCC releases may be downloaded from our mirror sites. Important: these are source releases, so will be of little use if you do not already have a C++ compiler installed. As one option, there are pre-compiled binaries. for various platforms. You can also retrieve our sources using Git. GCC Timeline The table is sorted by date. Please refer to our development plan for future releases and an

    nilab
    nilab 2011/01/12
    GCC3 だと最新版は March 06, 2006 の GCC 3.4.6 になりそう。 / GCC Releases - GNU Project - Free Software Foundation (FSF)
  • cross platform development - firewood's diary

    クロスプラットフォームというか、プラットフォーム依存というか、そういうことをよく扱っているのでメモ。基的にC/C++。 メモ プリプロセッサは、未定義の識別子を0として扱う。 従って、#if __GNUC__ >= 3はGCC3以上として使えるが、GCC2系かどうかを#if __GNUC__ < 3で判定しようとすると、GCCでないものも含まれるので注意が必要。 コンパイラ GCCかどうか #ifdef __GNUC__ #if __GNUC__ >= 3 // GCC3.0以上 Visual C++かどうか #ifdef _MSC_VER(VC++以外でも定義されている場合あり) #if _MSC_VER >=1000 // VC++4.0以降 #if _MSC_VER >=1100 // VC++5.0以降 #if _MSC_VER >=1200 // VC++6.0以降 #if _

    cross platform development - firewood's diary
    nilab
    nilab 2010/02/10
    cross platform development - 糸且之入Eヨ言己 : 「クロスプラットフォームというか、プラットフォーム依存というか、そういうことをよく扱っているのでメモ。基本的にC/C++。」 #ifdef 環境切り分け
  • error: extra qualification ってなんだ、と思ったらヘッダーでメンバー関数をクラス名で就職してた。コピペするとよくこうなる。 - tuedaの日記

    #include <iostream> using namespace std; class Base { public: }; template <int size> class Derived { public: Derived<size>:: Derived () { cout << size << "\n"; }; }; int main ( int argc, void* argv[] ) { return 0; }; g++ -Wall -O3 -I/usr/include -I/usr/local/include main.cpp -c main.cpp:13: error: extra qualification ‘Derived<size>::’ on member ‘Derived’ main.cpp:13: error: explicit specialization

    nilab
    nilab 2008/09/01
    えー、いままでこんなエラー出なかったのに。。。 / error: extra qualification ってなんだ、と思ったらヘッダーでメンバー関数をクラス名で就職してた。コピペするとよくこうなる。 - tueda_wolfの日記
  • 1