メモ

プログラムを書いているときに詰まった部分などを備忘録的に書いていきます。

2015-01-01から1年間の記事一覧

FASTBuild事始め

FASTBuildとはVisualC++で使えるIncrediBuild、distccのようなフリー(というかオープンソース)の分散ビルドツールです。 VisualStudioのプロジェクトも作成できるのでCMakeにも近いかも。 そんなFASTBuildですが日本語で解説しているページを見かけないので…

UltraVNCでrdr::Exception: rdr::EndOfStreamが出る。

UltraVNCを使用しているとうまくつながらない時があるのでlogを取ってみると rdr::Exception: rdr::EndOfStream とのエラーメッセージが出てました。 これを調べても、どうにも解決につながる情報が出てこなかったのですがこの前ようやく上記の症状がでなく…

isnanとisinfが2つ定義されている件

gccでは実はisnanとisinf関数は C99では名前空間無しで定義(math.h) C++11はstd名前空間で定義(cmath) と、2つ定義がある。 using std::isinf; using std::isnan; 上記コードはコンパイルエラーとなる場合があり その場合は以下の記述で回避することができる…

c++ 組み込み型のmove

右辺値参照の勉強中ですが以下気になったのでメモ 組み込み型(プリミティブ型)はmoveせず、lvalue参照と同様になるようです。 http://stackoverflow.com/questions/14679605/do-built-in-types-have-move-semantics

Singletonでのthread終了時にjoinで固まる

VisualStudio環境での話です(VS2012で確認) gcc(4.9.2)環境では正常に動作します。 #include <thread> #include <atomic> #include <chrono> #include <iostream> class Hoge { public: static Hoge& get() { static Hoge hoge; return hoge; }; void run() { while( false == m_end ) { sleep(</iostream></chrono></atomic></thread>…

Windows、linuxで共通のsleep

c++11限定だけど #include <thread> #include <chrono> void sleep(unsigned int ms) { std::this_thread::sleep_for(std::chrono::milliseconds(ms)); }</chrono></thread>