toge's diary

コンピュータ関連の趣味をつらつらと。

C++

MSYSのrxvtの設定

C++

これもMSYSのインストールと同様、ルーチンワークになっているので、ここに書いておこう。 デフォルトのrxvtは個人的にはとっても不便なので、C:\msys\1.0\msys.batの該当行を次のように書き直してしまう。 start rxvt -backspacekey -sl 2500 -fg White -bg…

MinGW, MSYSのインストールがめんどい

C++

MinGW入れて、MSYS入れて、SDLとか諸々ライブラリ入れて・・・と言うのがぐったりするぐらい面倒臭い。だれがCygwin見たいに自動的にやってくれるツールを作ってないのかなぁ。みたことないなぁ。みんなCygwin使っているから困らないのかな?

軽量圧縮ライブラリ

C++

少しは役に立つものを書いてみよう。近頃調べているのは圧縮率はそこそこでいいから、高速に圧縮・解凍ができるライブラリ。色々あるんだけど決定版と呼べるものがないのが厳しいところ。今のところ総合的に優秀なのはQuickLZで、うまくやれば速そうなのがlz…

GCC 4.3.1 RC2出たみたい

C++

http://gcc.gnu.org/ml/gcc/2008-05/msg00430.htmlうまくいけば来週頭にリリースされるそうな。 そろそろ本腰でGCC 4.3系オプションを調べないとな。

gcc 4.3.1 RC

C++

私が無視していた間にさっそく4.3.1 RCが出てますね。

gcc 4.2.4

C++

すっかり忘れてた。多分最後のgcc 4.2系のリリースになります。 ちゃんとコンパイルして、自分のプロジェクトがきちんと動くことを確認。無事コレクションの一つになりました。さあいよいよメンテナンスは4.3系に、開発は4.4系に推移していくみたいですね。…

dSFMT

C++

ちょっと試してみた。 1つのランダム値を求める方法だとそんなにはやくない。せいぜい20%程度の高速化。 乱数を一度に配列にとる関数だと100%程度の高速化。一度に大量の乱数が必要になる場合に使うのならば、使う価値があるかも。 #include "dSFMT.h" #incl…

Minmaxクラス

C++

相変わらずしょうもないものを作るのが大好きなのです。 template<typename T> class MinMax; template<typename T> class MinMax2 { public: MinMax2(MinMax<T>& raw) : raw_(raw){} public: MinMax2& operator,(typename boost::call_traits< T >::param_type data) { if (data < raw_</t></typename></typename>…

boost::minmax_element

C++

なんかちゃんと動いてくれないので自作のMinmaxクラスを諦めてboost::minmax_elementを使ってみた。ちゃんと動いた。どうやら初期値で渡したfloatの最小値が悪さをしているっぽい。なんてこったい。

GCCのバグ?

C++

とっても簡単な大小比較のはずなのにトンでもない値を返す関数を作ってしまった。 しかも特定の値の時だけ・・・。うーん、こりゃ何が問題なんだ?いまんところ疑っちゃうのはGCCの最適化バグなんだけど、gcc 4.1, 4.2, 4.3で軒並みでてしまう。 もうちょっと…

GCC 4.3.0 released!

C++

とりあえず、おめでとう。 既に4.3.1 rc1の話が出てるけど。 GCC 4.3.1 should be released earlier than after two months. If we have the workaround soon, we might cut 4.3.1-rc1 e.g. in two weeks or so, depending on how well tested it will be th…

getter関数の戻り値の型は何にすればいいのかな?

C++

今までletsboost::call_traitsを参考にboost::call_traits::param_typeを使ってたけど、gcc 4.3.0でバシバシ警告が出る。 const intとかになっちゃうのがいけないんだろうね。boost::call_traits::const_referenceにしたけど、今んとこ問題無し。これでいい…

gcc 4.3.0 RC2

C++

3/1に出てた。毎日見れているわけではないので、どうしても反応遅くなるね。私の見ている限りでは問題なく動いてる。速度としてもgcc 4.2.3と殆ど変わらず。

gcc 4.2は遅い?

C++

昨日は寝て終わったから今日は朝から飛ばすよっ。W.Deeさんの日記より。 2008-03-02 19:09 e : gcc-4.2はかなり前からパフォーマンスに関する悪評があり、実際4.1よりかなり劣ります。利点としてはOpenMPに正式対応したぐらいか…。多くのLinuxディストロでは…

gcc 4.3.0 評価4

C++

gcc 4.3.0 評価1 gcc 4.3.0 評価2 gcc 4.3.0 評価3Yet Another Ranha経由で、末尾再帰 - odz bufferにあたりました。 確かにこんな話があったような気がするけどちゃんと見てなかったなぁ。情報を総合するとgcc -O2なら以前のgccでも末尾再帰っぽい関数は展…

gcc 4.3.0 評価3

C++

gcc 4.3.0 評価1 gcc 4.3.0 評価2すごいっ。とうとうgccがやってくれたっ。 static int foo(int count) { if (count <= 0) return 1; return count * foo(count - 1); } int main(int argc, char* argv[]) { printf("%d\n", foo(10)); return 0; } gcc 4.2.3…

Bugbeard 評価

C++

ソースコードがShift-JISだったり、となっている以外はLinuxでもコンパイルできた。実行してみると分かるけど、たしかにprintfデバッグに最適な気がする。1行追加するだけで十分すぎる情報が出力される。実行してみて分かったけれど、1行の出力文字数が多す…

Bugbeardリリース!

C++

2008-02-24 "Coming soon..." などと謳いつつ5年近くほったらかしにしてましたが、ついに正式版のリリースです。 作者が言うのなんですが、このモジュールは非常に強力且つ凶悪です。ご利用いただければあなたの C++ プログラミングにおけるデバッグシーン…

gcc 4.3.0 評価2

C++

http://d.hatena.ne.jp/toge/20080224#1203865641高速化はたまたま50%高速化したように見えただけっぽい。ただ高速化はしている気がする。正確にはかるとせいぜい10%ぐらいっぽい。まあ、それはさておきいつもやってるコンパイルオプションの差分を見てみま…

C++でなくSquirrel

http://www.inside-games.jp/news/273/27303p2.htmlWiiWareで開発された小さな王様と約束の国のプロトタイプはSquirrelで書かれたらしい。Squirrelも触っておいた方がいいかなぁ。Lua使っているのはtable機能が便利だからだけなので、別にSquirrelでも困らな…

gcc 4.3.0 RC1

C++

http://gcc.gnu.org/ml/gcc/2008-02/msg00511.htmlとうとうgcc 4.3のリリースが間近になってきたなぁ。今回から多倍長演算ライブラリのGMPとMPFRに依存するようになったらしい。

gcc 4.3.0 評価1

C++

多分いろいろ遊ぶはずなので回数を分けてネチネチやります。id:toge:20061031:1162314465 の頃からの懸案だったCore2Duo用のmarchが指定できるようになってるね。march=core2らしい。妄想が働いてもう辛抱たまらん。早速コンパイルしてみた。手元のプログラ…

Framewave 1.0

C++

http://framewave.sourceforge.net/AMDが公開したらしいので触ってみた。FW_1.0_Lin32.tar.gzを落としてきて、展開。展開したディレクトリで以下のコマンドを実行する。 cd FW_1.0_Lin32/lib ln -sf ./libfwBase.so.1.0.0 libfwBase.so ln -sf ./libfwImage.…

Cairoのお勉強

C++

id:propella:20080215:p3 をみて刺激を受けてちろっとCairoを使ってみることにする。やっぱり綺麗なグラフィックをかけるようにはなっておきたい。残念ながら掲載されているコードではアルファ値が有効にならなくてアンチエイリアスが無効になっちゃっている…

gcc 4.3の足音

C++

We have reached our goal of zero open P1 regressions (in fact several times, but each time different P1s appeared), so 4.3.0 release candidate will be created early next week. http://gcc.gnu.org/ml/gcc/2008-02/msg00237.html やった!いよい…

超お手軽rdtsc

C++

SDLのコードからたまたま見つけてちょっと使ってみた。すげー簡単。 #define rdtsc(t) asm __volatile__ ("rdtsc" : "=A" (t)) void start_counter() { rdtsc(tsc_start); } unsigned long long int get_counter() { unsigned long long tsc_end; rdtsc(tsc_…

gcc 4.2と4.1の違い

C++

とりあえず違いを見てみよう。 gcc-4.1.0 -v --help 2>&1 | awk '/^ +-/{ print $1}'| sort | sed s/,//g | uniq >! gcc-4.1.0 gcc-4.2.0 -v --help 2>&1 | awk '/^ +-/{ print $1}'| sort | sed s/,//g | uniq >! gcc-4.2.0 なんかだいぶ違うな。減っている…

gcc 4.2.3 released

C++

February 1, 2008The GNU project and the GCC developers are pleased to announce the release of GCC 4.2.3.This release is a bug-fix release, containing fixes for regressions in GCC 4.2.2 relative to previous releases of GCC. なんか誰も言及し…

C99-snprintf

C++

http://www.jhweiss.de/software/snprintf.htmlC99なsnprintfの実装ですな。貧乏性の私はどうしてもprintf("%9.3f")とかするのが耐えられないのです。文字列をパースするんじゃなくて、関数の引数として直接指定させてくれと思っちゃうんですね。大したコス…

AntTweakBar評価中

C++

短い時間しかないのでAntTweakBarを触ってる。小さいだけあって、どう使うものかはすぐに分かった。 単機能なだけあって見通しのいいGUIライブラリですな。これ。簡単なGUIならこれで作れそう。なによりも便利なのが、ウィジットの属性を文字列で設定できる…