「cvs」を含む日記 RSS

はてなキーワード: cvsとは

2008-03-20

[]gcc-xmlVisual Studio 2005を使いたい!

gcc-xmlって何?

gccの構文解析の結果(構文木)を、XMLとして出力してくれるツールです。C++の構文解析はやたらと面倒らしいので、こういうのがあるとうれしいみたいよ。

何でわざわざビルドするの?

Py++」というC++のPytyonバインディングで使われていたので、必要になりました。gcc-xml 0.6はバイナリで配布されてるんだけど、MSVC7.1までしか対応してないようで、Visual Studio 2005だと使えませんでした。うーん、困った。というわけで、最新版のソース一式を取得してビルドしてみます。

CMakeをインストールしよう

gcc-xmlビルドには、CMakeというツールが必要になります。CMakeは、オープンソースクロスプラットフォームビルドシステムなんだとか。CMakeの公式サイトから、Windows版のインストーラーをダウンロードしてインストールしよう。

実は最初は、ここでcygwinのsetup.exe経由でのインストールをしてたんですけど、これだとgcc-xmlビルドの段階でエラーが発生しちゃいました。この原因がどうしてもわかんなかったので、あきらめて公式サイトインストーラーを使うことにした次第です。

gcc-xmlソース一式を取得しよう

ソース一式はCVSから取得できます。CVSクライアントはいろんなのがあるので、好きなクライアントを使って取得しよう。ここではcygwinCVSを使って、シェルから以下の命令を実行して取得しました。40MBくらいあるみたい。

$ cvs -d :pserver:anoncvs@www.gccxml.org:/cvsroot/GCC_XML co gccxml

gcc-xmlビルドしよう その1

Visual Studio 2005 コマンドプロンプト」を起動してください。起動したら、さきほど取得したソース一式が格納されているディレクトリに移動して、以下の命令を実行します。

$ cmake .

cmake.exeにはあらかじめパスを通しておくか、パスを直接指定するのを忘れずにね。

gcc-xmlビルドしよう その2

gcc-xmlビルドはまだ終了してなかった! 一度ビルドが終了しても、第二第三のビルドが必要となって…。などと恐れおののきましたが、二段階でいいみたい。

さきほどの処理が終了すると、同じディレクトリに"gccxml.sln"というソリューションファイルが新しくできあがっているかと思います。これをVisual Studio 2005から開いて、Releaseビルドしよう。ビルドが終了したら、以下の5つの実行ファイルができあがっているはずです。

  • bin/release/gccxml.exe
  • bin/release/gccxml_cc1plus.exe
  • bin/release/gccxml_vcconfig.exe
  • bin/release/gxsysEncodeExecutable.exe
  • bin/release/gxsysProcessFwd9x.exe

gcc-xmlVisual Studio 2005を使えるように設定しよう

まずは環境変数の設定です。Visual Studio 2005を使っていることを、gcc-xmlに高らかに宣言しておこう。

$ set GCCXML_COMPILER=msvc8

つぎに、gccからVisual Studio 2005のインクルードファイルを使えるよう、パッチをあてます。ありがたいことに、"GCC_XML/VcInstall"ディレクトリ以下にVisual Studioバージョンによってパッチが用意されています。そのディレクトリと、パッチを当てたファイルを出力するディレクトリ("gccxml.exe"が置いてあるディレクトリ)を指定して、"gccxml_vcconfig.exe"を実行してください。

$ bin/release/gccxml_vcconfig GCC_XML/VcInstall/ bin/release

gcc-xmlを使ってみよう

あとはbin/releaseにパスを通せば、gcc-xmlが使えるようになったはずです。bin/release以下をどこか適当ディレクトリコピーして、そこにパスを通してもオッケイです。やったね! というわけで、さっそく試してみましょう。

$ gccxml eample1.cpp -fxml=example1.xml

ここでは、解析するC++ソースファイルとしてeample1.cpp入力し、eample1.xmlを出力しています。ちゃんと出力できたかな? できたー! やったー!

以上で終わりです。

2007-09-23

http://d.hatena.ne.jp/shi3z/20070921

マシン語の話

まず

バリバリアクションゲームエンジンプログラマ

組み込み業界についてはここでは置いておく。

残念ながらその辺は自分はあまり語る資格がない。

だいたいそういう人達は人ハードウェア知識云々をもとより人から言われるまでもないだろうし

shi3z氏が檄を飛ばす想定読者もおそらく俺のようないわゆる受託業務システム開発を

しているような人間たちだ。

べつに低レベルアーキテクチャの知識はあればあったで困らないのは事実だし

プロなら最低限は知っとくべきレベルというのは実際あるし

無駄だと言う気はまったくない。

ただ

もし、仕事でその知識を認められたい、あばよくば給料キャリアの足しにしたい、

などという下心があるのなら、下記のことは知っておくべきだ。
『少なくとも自分のいるチームのNo.1にならなければほとんど評価すらされない。』

はっきり言うと俺らの世界では

氏のいうようなレベルバイナリハッカーはチームに一人。

規模と場合によっては会社に一人か二人いれば十分なんである。

ある意味ではフルタイムで雇うほどの需要すらないとさえいえる。

たまに必要なときだけ相談したり調査を頼めればすんでしまうわけで、

そういうバイナリハッカーも普段は他のプログラマと一緒に

地味なプログラムを組んだりしてるのだ。

ましてチーム全員がプロファイラやデバッガを使いこなせる必要なんか全然ないんである。

上で書いた「プロとしての最低限のレベル」ってのは

バイナリハッカーに相談すべきときに相談できる判断力があるかってことなんである。

(故にそれはできて当たり前であって評価の対象にはならない。)

しかし別の面から見ると

shi3z氏みたいなバイナリハッカーだけでは全然足りないのだ。

SQLクエリがくそ遅くてどうしようもないとき

DBのインデックスパラメータ最適化や分散設定ができるやつは身近にいるか?

ネットの負荷が問題になったとき

Apacheルータ、ロードバランサの設定や専門家は回りにいるか?

先輩から教わったCVS(やSubversion)の使い方がどうもgoogle様の

ご宣託と違うような気はしないか?

バグだらけのExcelマクロから吐き出される設定ファイル

共通ライブラリやお仕着せのフレームワークの仕組みや動作に疑問はないか?

tracのようなBTSを導入、管理できる人はいるか?

Excelバグ管理はもういやだ)

OS,開発環境ミドルウェアの導入、設定、管理、

等など、、、

状況によっては

残念ながら上記のような専門家が全員そろった

ドリームチーム仕事ができないことも多い。

そんなとき、この業界で少しでもやる気があるのなら、

むしろ自分にとって手の届くニッチ(はまりどころ)があると喜ぶべきかもしれない。

上記のほとんど全部をこなせるような人間が稀にいないわけではない。

しかし臆することはない。

そんなスーパーハッカーでも一日は24時間であり、

目と手は2つづつしかついていない。

人の時間とモチベーションは有限かつ希少な資源であり、

この業界仕事は一人でやるものではないんである。

ログイン ユーザー登録
ようこそ ゲスト さん