Section: GNU Tools (1) Updated: 1998/12/16 Index JM Home Page roff page 名称 gcc, g++ - GNU プロジェクト C および C++ コンパイラ (gcc-2.95.3) 書式 gcc [ option | filename ]... 注意 このマニュアルに書かれた情報は GNU C コンパイラの完全な ドキュメンテーションからの抜粋であり、オプションの意味の記述にとどめます。 このマニュアルはボランティアのメンテナンスが行なわれた時にのみ更新され るもので、常に最新の情報を示しているわけではありません。 もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、 正式なドキュメントである Info ファイルのほうを参照して下さい。 このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、 このマ
gcc4.1の__attribute__のメモ。 関数属性 † __attribute__((alias("name"))) 関数を他の関数のエイリアスにする。 void foo() __attribute__((alias("bar"))); __attribute__((always_inline)) 最適化がオフのときでも、関数をインライン展開する。 __attribute__((flatten)) 関数のサイズやインライン化パラメータを無視して、常にインライン展開する。 __attribute__((cdecl)) 386専用。 __attribute__((const)) 関数に副作用がなく、戻り値が引数のみに依存すると仮定する。 __attribute__((constructor)) 関数がmainに入る前に自動的に呼ばれるようにする。 __attribute__((dest
Node:Top, Next:G++ and GCC, Previous:(dir), Up:(dir) Introduction このマニュアルでは、GNU コンパイラの使い方、インストール方法、移植方法や、新しい機能や互換性の無い部分、それにバグレポートの方法などについて説明している。GNU CC のバージョン 2.95 に対応している。(日本語版ドラフト-17 July 2001) G++ and GCC: C や C++ のプログラムがコンパイル可能Invoking GCC: gcc のコマンド行オプションInstallation: GCC のインストール方法C Extensions: C 言語の GNU の拡張C++ Extensions: C++ 言語の GNU の拡張Gcov: gcov: GCC のテストカバレージプログラムTrouble: GCC のインストールで問題が起
C コンパイラ標準の機能ではなく,gcc 独自の拡張機能(文法)について. Extensions to the C Language Family (gcc 4.1.1) 翻訳 Extensions to the C++ Language (gcc 4.1.1) 翻訳 gccの拡張文法 GNU拡張を使う (スピード狂のための道標) アプリケーション屋さんはそれほど深刻じゃないかもしれないけど(性能もよい商用コンパイラがあるし),カーネル屋にとっては(ほぼ)必須なコンパイラ.Linux カーネルだけでなく,ITRON でも gcc に依存しちゃっているカーネルが多いみたいだね. ポータブルにするには #ifdef __GNUC__ で使いわければよい. Linux カーネルで使われている gcc の拡張機能 Linux カーネルには gcc の拡張機能が結構使われている. 以下に,その例を示
Windows上でのVC++とLinux上でのGCCとに対応するコードを書く際に、コンパイラ依存部分を#ifdefで切り替える場合のマクロ指定を調べました。 コンパイラがデフォルトで定義するマクロで使えそうなものは、 Linux/GCC __linux__, __GNUC__ Windows/VC++ _WIN32, _MSC_VER Linux/GCCでは__unix__も定義されるが、UNIX全体を一つの書きかたで括るのは無理な話。 __GNUC__, _MSC_VERともに、コンパイラ・バージョンが識別できる値がマクロに定義されるので、バージョン違いの対応もこのマクロで可能です。なお、__GNUC__にはメジャーバージョンの値が定義されるので、マイナーバージョンの値まで識別する必要があるなら__GNUC_MINOR__マクロを併せて使います。 GCCでデフォルト定義されるマクロ一覧を
gcc4.1の、-Wallで有効にならない警告オプションのメモ。 概要だけなので、適宜マニュアルを参照した方がいいです。 -Wformat-y2k strftimeで2桁の年を出力する書式を警告する。 -Wformat-nonliteral 引数にva_listを取る書式化関数を除き、書式文字列が文字列リテラルでないためチェックできない場合に警告する。 -Wformat-security セキュリティ上の問題の可能性がある書式化関数の使用法について警告する。 現在、printfとscanf関数で書式文字列が文字列リテラルでなく書式引数がない、例えば`printf(foo);'のような場合に警告する。 -Winit-self それ自身を使って初期化している未初期化変数について警告する。 例えば以下のようなコードを警告する。 int i = i; -Wmissing-include-dirs
以前同僚の光成さんが、以下の warning オプションを使っていると書かれていたのが気になったので調べてみました。 -Wall -W -Wformat=2 -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wfloat-equal -Wpointer-arith もし上記以外にも良さげなオプションがありましたら教えてください<(_ _)> 情報源 man と info と http://sugarpot.sakura.ne.jp/yuno/?gcc%2Fwarning 。 最初は日本語版の man だけを見ていたのですが、id:kazuhooku に info を見るべしと教わりました。 man も info もそうですが、日本語版は情報が少なかったりするので注意。 LANG=C man gccなどとしましょう。 -Wforma
gcc のコンパイルオプションをまとめているサイトへのポインタ。 本家のマニュアル。(英語) 調べたいオプションをページ内検索すればすぐ見つかる。Option Index (gcc-4.7.0) Option Index (gcc-4.6.3) Option Index (gcc-4.5.3) Option Index (gcc-4.4.6) Option Index (gcc-4.3.6) Option Index (gcc-4.2.4) Option Index (gcc-4.1.2) Option Index (gcc-4.0.4) Option Index (gcc-3.4.6) Option Index (gcc-3.3.4) Option Index (gcc-3.2.3) Option Index (gcc-3.1.1) Option Index (gcc-3.0.4) 2.
コンパイラオプションによる自動最適化について解説します. ● -0,-01 このオプションでは基本的な最適化を行います. たとえばregisterの不要な移行を行わない,メモリアクセスを減らすためにregisterに値を保存しておくなどの最適化を行います. 最適化を行うと,コンパイルには時間がかかり,大きな関数についてはたくさんのメモリを余計に使います. -0を指定しないと,register宣言した変数しかレジスタに割り当てません. -0を指定することでコードサイズと実行時間を小さくしようとします.また,全機種で-fthread-jumpsと-fdefer-popを有効にします.遅延スロットのある機種では-fdelayed-branchをオンにし,フレームポインタなしでもデバッグをサポートできる機種では-fomit-frame-pointerをオンにします.機種によっては,ほかのオプション
静的ライブラリのリンク時にundefined referenceエラーが出る(gcc) 概要 gccでリンク時にundefined referenceエラーが出る場合がある。 通常はオブジェクトやライブラリの指定忘れが原因であるが、 静的ライブラリをリンクする順番に間違いがあって出る場合もある (自分でMakefileを書く場合にこのミスをすることが多い) リンクの順番には依存性があり、あるオブジェクトが静的 ライブラリ内の関数を呼び出すときには呼び出される側の ライブラリは「後で」リンクする必要がある。 例えば foo.o が静的ライブラリ libfoo.a 内の関数を使用している、つまり foo.o → libfoo.a という依存関係があるとき、 g++ -o foo libfoo.a foo.o とするとundefined referenceエラーが出る。従って g++ -o fo
はじめに‥‥ コンピュータを使う上で、エラーメッセージというものは避けられないものです。 大抵の人は見るのも嫌でしょう。しかしエラーメッセージには、なぜエラーになっ たかという情報が含まれています(エラーメッセージの意味がわかりにくい、不 親切なプログラムも中にはありますが)。エラーメッセージが出た場合、 見慣れないものであっても(英語であっても)、とりあえず読んでみることが大 切です。 会津大学の C 言語のプログラミングの授業では、コンパイラは gcc を使います。しかし、コンパイラのエラーメッセージは専門的な用語も多く、 入門者にとっては理解しにくいものもあるでしょう。ここでは gcc での典型的 なエラーメッセージと、その解決法について説明します。なお、このページは gcc version 2.95.2 に基づいています。 現在使用している物とメッセージが違う場合はどんどん指摘し
viコマンドを発行した場合に起動するアプリケーションは、nviかvimか。 起動するバイナリのデフォルトバージョンを変更したい。 そのあたりの問題を自由に制御するために、Debianではalternativesという仕組みを持っている。 altanativesは、同じ機能を持ったアプリケーションのデフォルト起動順の切り替えや、インストールされた異なるバージョンのソフトウエアのデフォルト起動順の切り替えを可能にする。 コマンドに対するシンボリックリンクをコントロールすることで機能を実現しているが、これを管理するツールとしてupdate-alternativesがある。 update-alternativesを使ってgccの切り替えを行うことができる。 現在インストールされているgccのパッケージ。 crossroad:/# dpkg -l | grep gcc | awk '{print $
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' を付
Win2K上にH8用のクロスコンパイル環境を作成しました。 結構、苦労(?)したので、資料を残しておきます。 割り込み許可/禁止 こんなマクロを定義しよう。 #define DisableIRQ asm("orc.b #0xc0,ccr") #define EnableIRQ asm("andc.b #0x3f,ccr") H8/normalモードパッチ http://www.exp.org/h8/ml/archive/cgi/view.cgi?message=1476 インラインアセンブラの情報 gccのinfoに説明がある。 infoの日本語訳の在処。 http://www.sra.co.jp/wingnut/gcc/ 細渕氏のホームページ(下参照)のなかに、 結構 情報がある。 Cとアセンブラのリンケージの対応 gcc H8/300 コンパイラでは、 引数の引渡しに、 最初の3つまで
個人的にはFreeBSD上の開発環境に十分満足しているのだが、 一般には、やはりWindowsでの開発が出来ることが望ましいようである。 そこで、Windows上でのGCCのクロス開発環境構築の例をまとめて みることにした。 MinGW/MSYSとは MinGW/MSYSのインストール クロスコンパイラの構築、インストール クロスコンパイラをバイナリでンストール 確認: サンプルをmake 2002.12.26 記 新井 2003.01.24 更改 MinGW/MSYSとは さて、Windows上でのGCC環境といえば、まず頭に浮かんでくるのが Cygwinであろう。WEB上で見つかる例は、殆どがそれではないだろうか。 しかし、Cygwinはその環境上での動作を強制されるものらしく、 あまりWindows上の開発環境を求めている向きに相応しいものとは 思えない面を持っているようである。
更新情報 2003/05/31 H8MAX Rev.Bの写真追加 2003/03/16 H8/3069Fボードの紹介を追加 2003/03/04 MP3モジュール販売! 2003/02/22 セミナーご参加ありがとうございました。 2003/02/15 セミナー満席です。 2002/01/11 セミナーの詳細案内 2002/12/06 セミナー開催の案内 2002/07/19 H8MAXの写真掲載 2002/07/15 3069Fの解説を追加 2002/07/01 秋月3052Fボード発売!(H8WriteTurbo付属) 2002/05/21 ダウンロードケーブル情報追加 2002/05/05 H8のCPUページを作成&ちょっとリニューアル 2002/05/04 ページ構成をちょびっと修正 2002/01/09 H8資料集作成、H8tips追加 2001/12/17 Windows書き込
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く