Boost.勉強会とかいうので喋ってきました+ついでに高専ロボコン地区大会見てきました

10月23日 Boost.勉強会 #3 関西(大阪府)にスピーカーとして参加してきました。 犬と猫のキメラやマクロ処理に命を懸ける幽霊のように面白おかしく書く能力は持ち合わせていないので、淡々と。 10/22(Fri) 22:40頃- いつもの旅と同じように終電+ドリームにち…

SolidWorks2010で注記が勝手に結合する問題

ドラッグを放す時にShiftを押していると結合されない。ただしShiftを押すと移動中のカーソルに追従してこなくなる。

そろそろstd::dequeについて語ろうか

STLの一翼を担うdeque(デックと読むらしい)ですが、その性能に比していまいち知名度が低いようです。 そこで、少しdequeについておさらいしましょう。 dequeの構造 まずは、dequeの期待される内部構造から。 といっても、非常に単純で、std::vector *>とほぼ…

プログラミングの魔導書

[Grimoire]「プログラミングの魔導書」予約開始! - Faith and Brave - C++で遊ぼう 買いました。

プログラミングの魔導書〜Programmers' Grimoire〜

http://longgate.co.jp/products.html 買いましょう。

C++WG AdHoc会議に行ってきました

去る2010-05-29(Sat)に、東京は赤坂で行われたC++WG AdHoc会議にオブサーバとして参加してきました。名前だけでは何をするのかよくわからないですが、平たく言うと事前にまとめられていたコメントを、標準化委員会に送るかどうか、送るならどういう表現にす…

GCC 4.5 リリースノート(続き)

Runtime Library (libstdc++) Improved experimental support for the upcoming ISO C++ standard, C++0x, including: Support for <future>, <functional>, and <random>. Existing facilities now exploit explicit operators and the newly implemented core C++0x features. C++0xサ</random></functional></future>…

GCC 4.5 リリース

GCC 4.5 がリリースされました。 リリースノートの日本語訳です。 Caveats注意 GCC now requires the MPC library in order to build. See the prerequisites page for version requirements.GCCのビルドにはMPCが(訳注:従来のGMP,MPFRに加えて)必要です。必…

GCC拡張インラインアセンブラ構文

Twitterでうっかり"GCCインラインアセンブラ拡張構文の解説でもするか"と発言したら、二人くらいに期待ageされたので、とりあえずCPUIDを例にインラインアセンブラの解説をします。 環境はi486(x86,IA-32)上のGCCが動く環境を想定しています。80386はCPUIDが…

ADLは邪悪らしい

TwitterでADLについて語っていたのでそのまとめ。 ADLは基本的に必須の機能。 でもテンプレートと複数の名前空間が絡むと意図しないLookupを起こすことがある。 参考: http://d.hatena.ne.jp/uskz/20060526/p1 意図しないADLを回避するにはネストされた名前…

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…