タグ

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

タグの絞り込みを解除

C++とmakeに関するAkinekoのブックマーク (24)

  • C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD

    私は多くの小規模プロジェクトで Make を使ってきましたが、より大きな規模のプロジェクトになると、それは非常にうんざりするようなものでした。最近までは、自分のビルドシステムに行いたいことが4つあったのですが、Makeでの方法が分かりませんでした。 out-of-sourceビルド(オブジェクトファイルが、ソースとは分離されたディレクトリにダンプ出力されます) 自動生成される(かつ正確!)ヘッダの依存関係 オブジェクト/ソースファイルのリストの自動的な決定 インクルードディレクトリのフラグの自動生成 以下にこれらの全てを行える、C、C++、およびアセンブリで動作するシンプルなMakefileを紹介します。 MAKEFILE TARGET_EXEC ?= a.out BUILD_DIR ?= ./build SRC_DIRS ?= ./src SRCS := $(shell find $(S

    C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD
  • MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック

    べっ・・・別にソースコードなんて自分でコンパイルしないんだからねッ!!などと言わずにまず聞いていただきたい。30秒でMySQLのコンパイルが出来るというこの事実を。最近、細々とビルド時間の短縮に取り組んでいたのだが、正直ここまで爆速になるとは思わなかった。今日はビルド時間短縮のためのテクニックを紹介するので、是非皆さんも参考にして、快適ビルド生活を送って頂きたい!! 自己ベストは26.262秒マシンの状態や負荷の状況によって多少ビルドにかかる時間は前後してしまうのだが、これまでの自己ベストはなんと26.262秒。平均すると30秒ぐらい。以前は1分を切ることがなかったのだが、今ではなんとその半分でビルドが出来てしまう。これは純粋にmakeをするのにかかった時間であり、cmake(MySQL 5.5以降)やconfigure(MySQL 5.1以前)にかかる時間は除いてある。だがそれでも速い。

    MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック
  • Manpage of GCC

    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 ファイルのほうを参照して下さい。 このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、 このマ

  • Using and Porting the GNU Compiler Collection (GCC) - Table of Contents

    C、C++、Objective C、Fortranのコンパイル GCCコマンド・オプション オプションの要約 出力の種類を制御するオプション C++プログラムのコンパイル Cの方言を制御するオプション C++の方言を制御するオプション 警告を要求もしくは抑制するオプション ユーザ・プログラムまたはGCCをデバッグするためのオプション 最適化を制御するオプション プリプロセッサを制御するオプション アセンブラへのオプション渡し リンク処理用のオプション ディレクトリ探索のためのオプション ターゲット・マシンとコンパイラ・バージョンの指定 ハードウェアのモデルとコンフィギュレーション M680x0オプション VAXオプション SPARCオプション Convexオプション AMD29Kオプション ARMオプション Thumbオプション MN10200オプション MN10300オプション M32R

  • 2006-03-22

    id:toge:20060320 前回の続きです。無茶苦茶尻切れトンボだったのでしたね。 結局MTオプションを使うことにしました。定義は以下の通り。 %.d : %.cpp $(CXX) $(CFLAG) -MM -MT $(<:.cpp=.o) $< >> DEPENDS %.d : %.c $(CC) $(CFLAG) -MM -MT $(<:.c=.o) $< >> DEPENDS %.dはdummyのターゲットです。このルールで%.dを生成することはありません。 で、MTオプションで依存関係の出力先を%.oに変えてしまいます。 %.oにはfullpathが入っているので、以前のように困ることがありません。 つまり次のようになるわけですね。 % gcc -MM -MT src/hoge.o src/hoge.cpp src/hoge.o: src/hoge.c /usr/includ

    2006-03-22
  • GNU make: 目次

    GNU make: 目次

  • GCC Manual Japanese Translation

    GCC マニュアル日語訳 gcc-2.95.3 に付属の Texinfo 形式マニュアルの日語訳です。 "Using and Porting GCC" の日語訳(HTML 1508KB) "The C Preprocessor" の日語訳(HTML 124KB) ソースを含むフルアーカイブ(tar+gz 形式 2632KB) Texinfo 形式ソースのみのアーカイブ(tar+gz 形式 894KB) Info 形式ファイル(tar+gz 形式 485KB) DVI 形式ファイル(tar+gz 形式 805KB) 以下は、ソースアーカイブに含まれる README の内容です。 gcc-jman α-20010717版パッケージ 矢吹洋一 2001年7月17日 このパッケージには GCC のマニュアルの日語訳が含まれています。 GCC のマニュアルとは、GCC のソースコード

  • make

    機能 概要 ファイルの構成 必要条件の自動生成 ルールの書き方 ( 明示的 ) 書き方 ワイルドカードの使い方 ディレクトリ検索 偽のターゲット 組込み済ターゲット名 複数のターゲット 複数のルール 静的なパターンルール ダブルコロンルール コマンドの書き方 制御用特殊文字 エコー 実行 エラー 中断と kill 再帰的用法 変数(マクロ) 定義 参照の基礎 参照の進んだ機能 テキストの追加 環境変数の取得方法 自動変数 make の実行 makefile ゴールを指定する引数 オプション 変数のオーバライド 実行の継続 暗黙のルール 使い方 カタログ 定義済み変数 連鎖 パターンルール 最終ルールの定義 サフィックスルール 検索アルゴリズム その他 オプション 主なターゲット make ファイルの約束

  • コンパイラ(gccコマンド)の使い方

    gccはジーシーシーと読む.GNUが作成し,UNIX,Windowsなどで動作するフリー のコンパイラである. ここでは,C言語をコンパイルする際のgccの利用方法を説明するが,C++の場合 にはgccというところをg++に変更すればほぼそのまま利用可能である. イタリック体は,実行時には適当に変えること.ここでは,サンプルとし て,test.cをコンパイルしてtest.o(オブジェクトファイル)または test(実行ファイル)を作成する場合についての説明をする. 主なオプション一覧 -g   (コンパイル,リンク時) コンパイル,リンク時にDEBUG情報を付加する.dbx,gdbなどのデバッガ を使用するときに必要. -c   (コンパイル時) コンパイルのみ行う(オブジェクトファイルを生成する). ex: gcc -c test.c   → test.oを生成 -o test.o  (

  • GnuMakeMaster - めらまん PukiWiki

    メニュー トップ めらロ〜グ プラグインマニュアル NintendoDS Homebrew 掲示板 GBA/NDS Link NDS/GBA 技術情報 ・GBATek 日語訳 ├GBA Ref.(完) ├NDS Ref.(翻訳中) └CPU Ref.(未整備) ・DSTek 日語訳(完) ・NDSLIB 日語訳(完) NDS 公開版ソフト ・BAKUDAN ・鏡音リン・レン ・NDS_TGM ・NDS_四川省 ・NDS_花札こいこい ・BGMファイラー ├BGM ドライバ(JP) ├BGM Driver(EN) ├MID ドライバ(JP) │└MIDDRV 開発 │------ ├NDS サウンド講座 └SMF2MML NDS ソフト部品 ・thfifo 日語訳 ・電力制御 └PowerControl ・uITRON4

  • GCC, the GNU Compiler Collection

    GCC, the GNU Compiler Collection The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom. We strive to provide regular

  • C言語のインライン関数について - OSのようなもの

    GCCや多くのコンパイラーは,C言語の標準(C99)にインライン関数が取り込まれるずっと前からインライン関数をサポートしていた。そのためかインライン関数の定義は様々で,同じ書式でも各コンパイラで挙動が異なる場合がある。 今回は,インライン関数の定義をまとめ。それぞれ出力されるアセンブラコードを比べてみる。 概要 先頭に inline という言葉を付けて関数を宣言すると,コンパイラーはそれをヒントにコードをインライン化――関数のコードを呼出し元に展開する。これにより,関数呼び出しのオーバーヘッドが取り除かれ実行が早くなる。 inline はコンパイラに対するヒントであって指示ではないから,様々な理由からヒントが無視され,インライン化されず実際の関数として出力される場合がある。例えば,その関数のアドレスが参照される場合や,関数定義内の再帰呼出しなどはインライ化できないし,コンパイラーの最適化を

    C言語のインライン関数について - OSのようなもの
  • GNU コンパイラ集(GCC) の使い方と移植について

    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 のインストールで問題が起

  • 分割コンパイルとリンケージ

    | 分割コンパイルと翻訳単位 | extern記憶クラス指定子 | リンケージ | オブジェクトモジュールとライブラリ | 演習問題 | [付録]nmコマンド | 分割コンパイルと翻訳単位 だんだん複雑なプログラムを開発するようになると ソーステキストが長くなり,一つのソースファイルで作成していると 全体を見通すのが難しくなってきます. またほんの一部だけを修正をしたときにも 全体をコンパイルし直さなければならないので, コンパイルに時間がかかるようになります. よって,プログラムをいくつかの部分に分けて 別々に開発したいという要求が自然に起こってきます. このような考えからプログラミング言語には 一つのプログラムを複数に分割できる機能が提供されることが多く, そのような各部分のことを一般にはモジュールと呼びます. C言語ではモジュールは翻訳単位と呼ばれ, おおまかには一つのソースファイル

  • CとC++では扱いが異なるスコープとリンケージの関係を確かめる | EE Times Japan

  • GNU makeの使い方

    [ C++で開発 ] GNU makeの使い方 更新日: C++のビルドをGNU makeで行います。 Makefile記述テンプレート 単一ディレクトリで1つの実行ファイル作成用 Hello makefile(Ver.1) 一つのsrcディレクトリ、一つのincludeディレクトリからなるソースファイルをmakeし、一つの実行ファイルを作成します。 PROGRAM = hello.exe SRCS = Hello.cc Main.cc OBJS = $(subst .cc,.o,$(SRCS)) RM := rm CXX := g++ CC := g++ CPPFLAGS = -I../include LDFLAGS = -mno-cygwin $(PROGRAM): $(OBJS) $(LINK.o) $^ $(LOADLIBES) -o $@ .PHONY: clean clean:

  • Using and Porting the GNU Compiler Collection (GCC) - GCCコマンド・オプション

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

  • cmake1 - プログラミングTipsWiki - Seesaa Wiki(ウィキ)

    [ パソコン ] プログラミングTipsWiki プログラミング用のTipsの貯蔵庫 編集 履歴 添付 設定 新規ページ作成 メニュー Wiki内検索 最近更新したページ 2011-08-24 FrontPage 日語化 2010-05-18 emacs-sousa 2010-05-03 etc2 2010-02-18 nVidia vmware 2010-02-10 emacs-shell-mode 2010-02-09 glxinfo gnome-terminal 2010-02-08 emacs-info linux_emacs_inst major-and^-minor-mode emacs-auto-indent 2010-02-07 emacs-server 2010-02-02 bashシェル 2009-12-24 ffplay コンパイルメモ 2009-12-05 eli

  • CMake - Upgrade Your Software Build System

    CMake is the de-facto standard for building C++ code, with over 2 million downloads a month. It’s a powerful, comprehensive solution for managing the software build process. Get everything you need to successfully leverage CMake by visiting our resources section. Getting Started Documentation

  • よくわからない現代魔法 cmakeの使い方メモ

    あちらこちらでコンパイルするならcmakeが便利!ということでcmakeの勉強。何が便利ってXcodeのプロジェクトを生成できるのがすっごく便利! ただドキュメントがあんまり存在しないので(helpを見れってことらしい)最初はめんどくさい。。。以下は一応Macの場合だけど、LinuxWindowsでもほぼ問題なく動作すると思われ。 cmakeコマンド cmakeコマンドオプション cmake [オプション] パス コマンドを実行すると「CMakeCache.txt」「cmake_install.cmake」「CMakeFiles」とプロジェクトファイル(デフォルトでは「Makefile」)が生成される。ただの設定ファイルなのでCMakeLists.txtの記述が正確なら別に気にしなくてもいい。 --help-variable-list 利用できる変数一覧、「--help-variable