Natural Software

KinectなどのDepthセンサーを中心に活動しています。最近はHoloLensになりました。

C++

Open Sound Control (OSC) ライブラリの oscpack を Visual Studio でビルドしてみた

C++

ちょっと必要になったので探してみたら、Visual Studio でビルドできそうなのがなかったのでいくつか試してみました。

「プログラミングの魔導書 Vol.2」の発売、おめでとうございます!

アキラさんから事前レビューの依頼と献本いただきました。ありがとうございます。 プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2 『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう 『プログラミングの魔導書 Vol.2』…

テスト成功ごとにgitにコミットしてみる

確か@katzchangのツイートにだった気がするんだけど、「テストごとにgitにコミットすればコードの成長過程が残るよねー」って。 なるほど。 毎回ちゃんとコミットすればいいんだけど、よく忘れるのでmakeしてテスト実行する際にgitへのコミットも入れてみた…

GoogleTest をいろいろ使ってみる

Visual Studio で GoogleTest を使う - かおるんダイアリー 先日試したGoogleTestをもう少し触ってみました。 Primer - googletest - Getting started with Google C++ Testing Framework - Google C++ Testing Framework - Google Project Hosting このペー…

Visual Studio で GoogleMock を使う

先日書いた GoogleTest の兄弟分である GoogleMock を Visual Studio で使ってみた。名前の通りのモックライブラリ。 ビルドでも意外と躓いたのでメモ。 #前提として GoogleTest の設定ができてることとする はじめて使ったけど、結構いいかも 環境 Windows…

Visual Studio で GoogleTest を使う

先日の TDD BootCamp では Boost.Test を使って演習をした。 初めてBoost.Testを使ったけど、Boost自体のコンパイルに時間が掛かるは、テストコードのコンパイルに時間が掛かるわ、当日Linux+ emacs の環境で固まるわで、ちょっとアレなので、今仕事でも使…

コンストラクタの初期化子で起こった例外をキャッチする

new と delete と throw で気をつけること(自分用メモ) - IT戦記 ここを読んでいて、そう言えば初期化子で起こった例外って取れた気がすると思い調べてみたので備忘録として残す。 下記記事が詳しいので、細かい話はこちらへ^^; [迷信] コンストラクタ…

C言語 に慣れた人が書く C++ のソース

C++ のソースを見てると。この人普段 C言語がメインだな?と思うソースにお目にかかることが多い。 その人の傾向も並べてみる。 アスタリスクとかアンパサンドの位置が変数寄り C 言語がメインの人はポインタとか参照をこう書く char &r; char *p = &r; C++ …

危なっかしいなぁ〜と思うコード

C++

最近 C# と平行して、過去の資産を生かすために C++ でかれたコードを CLI でラップして C# から呼ぶことをよくやるんだけど、そのときの C++ のコードを見ていて危なっかしいなぁ〜と思う時を列挙しとく。 例外を投げるときにが例外クラス以外を投げる 整数…

C++ と C# を比べて・その2

こんどは C++ と C# を比べて C# のほうがいいところ #まぁ、独断と偏見なので悪しからず。 C# というか、Visual Studio のいいところになってるかも(笑) 参照ベースってステキ:) C# は参照ベースなので、インスタンスを戻り値で戻してもコストがかからない…

C++ と C# を比べて・その1

ここ1,2カ月で C# と C++/CLI での開発の機会があり、やっと C# と C++/CLI をそれなりに使えるようになった。 慣れてきたところで自分なりの C++ と C# の違いが見えてきた。 まずは C# が C++ と比べて残念なところ。 #まぁ、独断と偏見なので悪しから…

歩いた!

『ルカシム』君が歩きました! まるで成長する子供のよう(笑) #結局 Java ではまだできてないので C で書いてますが・・・ 参考 http://maglog.jp/shinagawaUML/Article520668.html もともとの倒立に光センサの値でターンする値を決めるだけ。 if ( ecrobot…

立った!

『ルカシム』君が立ちました! ジャイロセンサが届いたので早速二輪倒立に改造してソフトを入れてみた。 無事立つことができました♪ 参考 2009年3月 - marunomaruno-memo 注意 最後のほうで void user_1ms_isr_type2(void) となっているところは void user_1…

C++/CLI 素敵

C++

C++/CLI 素敵。 詳細はあとで書く(と思ふ)

nxtOSEK(LEGO MINDSTORMS NXT 用 C/C++ 環境)のセットアップ

昨日に続いて C/C++ 環境でのセットアップ。 今回も参考サイトの通りでほぼOK。 やっぱり少しハマったので注意点^^;

Windows で高分解能タイマ

Windows で高分解能タイマといえば time〜 のマルチメディアタイマを使うけど、実はこれも 1msec 弱の遅延があるらしい。 ここからさらに高分解能のカウンタ QueryPerformanceCounter を組み合わせて精度上げてみる。 ケース1・timeSetEvent のみ 10msec を…

MFC de FTP 通信 − その2

昨日の続きで FTP でのアップロード中に経過を表示したいので少し変えてみた。 CFtpConnection::OpenFile で CInternetFile のインスタンスを取得し、それを使ってファイルを書き込む。 触れた感じでの注意点は CInternetFile のインスタンスは使い終わった…

MFC de FTP 通信

ちょいと FTP クライアントを作成する必要がありそうなので調べてみた。 環境は Visual Studio 2008 SP1

「UI オートメーションによる自動 UI テスト」を Win32 に適用する

Windows アプリの UI テストを自動化しよう@@IT 少し古い記事だけど、ちょうど UI の自動テストをやりたかったので試してみた。 NUnit も初めてだったのでこの記事もあわせて読んだ。 で、このツールは 「Windowsアプリケーション(Win32)」 でも使えるとの…

独習デザインパターン C++

独習デザインパターン C++作者: 株式会社テクノロジック・アート,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2008/10/22メディア: 大型本購入: 5人 クリック: 24回この商品を含むブログ (13件) を見るなんとなく今さら感もあるけど、デザインパターンも半分く…

C++ 系書籍

Boost、More Exceptional C++@予定は未定Blog版より。 買わねば。。。Boost C++をチューンアップする最先端ライブラリ作者: ビョルン・カールソン,村上雅章出版社/メーカー: ピアソンエデュケーション発売日: 2008/10/07メディア: 単行本(ソフトカバー)購…

演算子のオーバーロードあれこれ

演算子のオーバーロードで気づいた点、注意点を備忘録的に列挙。 全体的 引数の名前は lhs と rhs(left (right) hand side / 左(右)辺値)を使う。 #この名前がどこまで一般的なのかは知らない。 代入演算子 1, 宣言 代入演算子の宣言は以下とする。 クラ…

デフォルト引数とコンストラクタ

今までなんとなくで通してたこと。 class A { public: A( int a = 0 ){} void put(){} }; void main() { // A a(); // NG // a.put(); A b( 1 ); // OK b.put(); A c = A(); // OK c.put(); } デフォルト引数のデフォルトコンストラクタでインスタンスを生成…

NULL と 0

C++ でプログラムを書くときにポインタの初期化は NULL ではなく、0 でおこなっている。 C 言語と C++ で NULL の定義が違うのと*1、どこかで(ソース不明) 0 のほうがいいよ、と見た気がするから。 なんだけど、どうも調べてみるとそうでもなくて、NULL が 0…

インクリメント・デクリメント

確か More Effective C++ に書いてあった、前置インクリメント(デクリメント)と後置インクリメント(デクリメント)の違い。 意外と気にしないものなんだろうか。 細かい話なので、気にしなくてもいいのかもしれないけど。 C++ のいいところは、C言語では…

CppUnit-x ではじめる、簡単ユニットテスト−その7 Subversion との連携 パート2

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

設計者自らが書き下ろす「C++入門書」とは〜Bjarne Stroustrup氏との対話〜

設計者自らが書き下ろす「C++入門書」とは〜Bjarne Stroustrup氏との対話〜@CodeZine CodeZine の連載2回目。 氏が今まさに執筆中の C++ 入門書について語っている。 C++ とか C 言語の入門書って選定が意外と難しいんだけど、この本の評価によっては探し…

CppUnit-x ではじめる、簡単ユニットテスト−その4 makefile の作成

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

CppUnit-x ではじめる、簡単ユニットテスト−その5 makefile の自動生成

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

CppUnit-x ではじめる、簡単ユニットテスト−その6 Subversion との連携

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…