VC++ 2017 で Python モジュールを作る

Python、めちゃくちゃ便利ですね。私も遅まきながら、Python の持つパワーに目覚め始めました。

しかし、その実行速度が気になる場面もあります。Python を取り巻くライブラリ群がそうであるように、どうしても速度が欲しいところはピンポイントで C++ で書きたい。

そこで、Visual Studio 2017 の C++ を使って Python モジュールをビルドするまでの、環境の作り方についてまとめました。
“VC++ 2017 で Python モジュールを作る” の続きを読む

SamurAI Jockey のルール

今年の SamurAI Coding で戦うのは、”SamurAI Jockey” というオリジナルのゲームです。

参加された方はよくご存知ですが、このゲームを「見る」人のために、ゲームのルールについて簡単にまとめておきます。

プログラムの核心に触れる話は対戦が終わるまで書けませんので、今しばらくお待ちください。
“SamurAI Jockey のルール” の続きを読む

更新ペースを少し変えます

いつも組込屋の技術ブログをご覧いただき、ありがとうございます。

ここまで、頭の中身を棚卸しするように一気にブログを書いてきましたが、ここからは着手中の案件との兼ね合いもあるため、更新のペースを少し落とします。あしからずご了承ください。

float を解剖する

多くの C++ プログラマーにとって float というのは中途半端な存在です。この時代、ほとんどの環境では double のデメリットは皆無に等しいですし、逆に FPU のないような古典的な CPU で頑張る「マイコン屋」にとっては未だ float は贅沢品です。

ARM の Cortex-M4F や Cortex-R4F のような float に有利な命令セットを持つ CPU を使い、なおかつマイクロ秒オーダーで演算時間を切り詰めたい人たちだけが、float を必要とします(私がそうでした)。

そんな float ですが、取り扱いには注意が必要です。少なくとも float の内部表現ぐらいは知っておかないと、その挙動はまったく不可解なものに映ることになるでしょう。
“float を解剖する” の続きを読む

アプリケーションハンガリアン

以前にも引用したことのあるこの記事では、ハンガリアン記法が世界中のプログラマーから嫌われるようになったのは、一つの誤解が元になっているのだと述べられています。そして、特定の種類のハンガリアン記法には今もなお価値があるのだとも言います。この主張は今ではある程度受け入れられ、その種の記法はアプリケーションハンガリアンと呼ばれるようになりました。

あなたのプログラムで、アプリケーションハンガリアンは使われていますか? もしないのなら、これを導入できる箇所がどこにありそうか、改めて検討してみるとよいかもしれません。そのことは取りも直さず、人間特有の弱さに思いを巡らせるよい機会にもなるからです。
“アプリケーションハンガリアン” の続きを読む

C# でテキストファイルを手軽に読み書き

C#、使っていますか?

Windows 上でちょっとしたテキストファイルを取り扱いたいと思ったとき、C# は凄まじい効率性を発揮します。そのためだけでも、C# を覚えてみる価値はありますよ。

ここではその一端として、CSV ファイルを取り扱う C# のコードを紹介します。
“C# でテキストファイルを手軽に読み書き” の続きを読む

変数名に “g_” や “m_” をつけることの意味

C++ の一般的なコーディングスタイルの一つに、変数名にプレフィックスを付けるというものがあります。細かい点ではチームによってぶれがあるでしょうが、おおむねグローバル変数とメンバ変数に何かを付けるという点では一致しているようです。

私もやはりこれだけは外す訳にはいかないと考えます。実際にそれなりの規模の案件を終えてみて、このルールが果たした意義は想像を超えて大きかったと感じています。
“変数名に “g_” や “m_” をつけることの意味” の続きを読む