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

bindでDeleterを簡略化

昨日のエントリで、boost::bind使えるはずだよ的なことを書いたので、その補足。 #define BOOST_BIND_ENABLE_STDCALL #include <windows.h> #include <boost/shared_ptr.hpp> #include <boost/bind.hpp> template <typename T> struct deref_ptr; template <typename T> struct deref_ptr<T *> { typedef T type; }; using boost::shared_ptr</t></typename></typename></boost/bind.hpp></boost/shared_ptr.hpp></windows.h>…

shared_ptrとHDCとSelectObjectと

「HDCやSelectObjectしたHGDIOBJの寿命管理をするスマートな方法が無いか」という独り言に勝手に答えてみました。 Motivation shared_ptrをマンセーする ctor/dtorのためだけのクラスを作りたくない Approach Win32 HANDLEをboost::shared_ptr (or std::tr1::sha…

gccのデバッグ始めました。

LTOを触りたくてgccのsvn-trunkを引っ張ってきたのですが、まだcloseもされていない段階なので、不安定なコードが大量に混じっているようです。 しかも対象アーキテクチャがマイナー(h8300-elf)なので、普通にコンパイルできるgccを作るために格闘している状…

フレームワークと継承

以前書いた継承について。通常、GUIフレームワークを使う場合は、ATL/WTLなどCRTPを使うものを除き、フレームワーク側のベースクラスをpublic継承して使用します。 これはフレームワーク側にとってインタフェースの継承(とアップキャスト)が重要なためで、通…

BSch3V+Qt

先日から続いていたデスマーチがようやくひと段落したので、かねてより触りたいと思っていたQtで何か作ることにしました。 回路図エディタBSch3VがGPLライセンスでMFC版とQt版があるので、Qt4に移植+フォークさせてみようかと思います。

継承の使い方

先日の多態について少し補足。継承を使うときの考え方として、"実装の継承"と"インタフェースの継承"があります。 前者は再利用するための継承、後者は再利用されるための継承です。 ところが、C++に限らず、一般的な継承の仕組みは、実装とインタフェースの…

Boost.Statechart

組み込み機器の制御にBoost.Statechartを使おうとしたら、(案の定)バイナリサイズが膨れ上がってて使えませんでした。 仕方が無いので、自分で再発明します・・・# TODO: Boost.Statechartのチュートリアル(最新版)を和訳する。

C++の多態

# 今日からソフト屋モード。C++の多態は大まかに2系統の表現方法があります。 一つはJavaや.NET等と同じ所謂"オブジェクト指向"な仕組み(継承とvtblによる動的な多態)、 もう一つはC++特有のtemplateによる静的な多態です。今日は(続くかどうかわからない)C+…

POMについて

昨日があまりにも適当すぎたので、POM(ポリオキシメチレン/ポリアセタール)についてちょっと詳しく。 構造 元はポリアセタール(PolyAcetal,-C(ORa)(ORb)-)のうち、オキシメチレン(OxyMethylene,CH2O,ホルムアルデヒド)の共重合体(ポリオキシメチレン)を示す…

樹脂材料

体調が思わしくないので最近使った樹脂材についてメモ。詳しい特性は後日まとめます。 PP 透明に出来る。軟い。伸びる。 PE 同上。亜種にPETやPBTなど。 ABS 成形性・着色性・触感に優れる。機器の外装に多用される。エンプラに分類する向きもある。 POM エ…

タッピンねじのピッチ

タッピンねじの諸元を忘れやすいのでメモ。 Aタッピン(尖り先・広ピッチ, 強締結) 呼び径 山径(最大) 山径(最小) 谷径(最大) 谷径(最小) ピッチ 山数/inch 下穴径(鋼板,t=1.2) 3 3.10 3.00 2.20 2.10 1.06 24 2.6 4 4.15 4.00 3.00 2.90 1.59 16 3.2 5 5.20 …

SolidWorksのRev管理

SolidWorksの図面Revを管理するうまい方法を模索中。 モデルを変更すると釣られて図面も一緒に変わるので、二重線+三角記号で変更点を 記録しておくルールに適合するのが大変です。 リビジョンテーブルというものはあるみたいだけれども、結局過去の寸法を残…

GCC Link-Time Optimization

9/28にGCCにLink-Time Optimizationのパッチがマージされた模様です。 KMC Staff Blog:GCC LTO margeでも述べられているとおり、既にMicrosoftやIntelでは実装されていて、恩恵を受けている人も多いと思います。GCCの最適化はほかに比べて劣ると言われるよう…

鋼板の原価

いわゆる「鉄板」の材料原価について。機械・建築分野でよく使われる鉄板には、 SPCC(生材、自分の知っているところは何処も三価クロメートめっきをかけて使う) SECC(電気亜鉛めっき、いわゆるボンデ鋼板) SGCC(溶融亜鉛めっき、トタンに近い) ZAM®※(SGCCの…

ブログ始めました。

「転職活動する暇があったらブログを書け」について:ベンチャー社長で技術者で:エンジニアライフを読んで触発されました。 内容的には、 プログラミング(PC/組み込み) C/C++ Common Lisp Python C# アセンブラ(Renesas H8/300, Microchip PIC) ひまわり PC…