むずかしくないはずなのに

カメラのライブラリを呼び出し,画像を一コマ一コマ順次取得し,フロントアプリへ投げ,動画のように表示させるためのライブラリを作っています.似たようなのを何度も作ったことがあるのに,いや,あるがゆえに簡単にできそうだと思っているためにか,なかなかうまく行かずに嫌になっちゃう.

カメラのライブラリはC言語で呼び出します.一方,表示アプリはC#/WPFです.そのため,繋ぎの自作ライブラリはC++/CLIで作っています.開始メソッドを呼んだら,画像の取得と転送を別スレッドで行います.C言語寄りのところでは関数ポインタが登場し,C#寄りのところではデリゲートが登場します.C言語寄りのところでは画像情報をmallocしたアンマネージドなunsigned char*型で保持したりしますが,C#寄りのところではマネージドなarray<unsigned char>^型で保持したりします.速度面ではなるべくアンマネージドが良いけど,mallocとfreeをちゃんとやらないとメモリリークするとか,CLIだとstd::threadが使えないなど,いろいろあります.

の,どこまでをどっち流に書くか,プログラムの構成含めてトライアルアンドエラーでスクラップアンドビルドでした.さらに,C言語とC++とC++/CLIとC#を,それぞれちゃんと理解していないと,たちまち書き間違えて怒られる罠.テトリスだわ.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です