プログラミング

プログラムが終わってもコマンドプロンプトを閉じないようにする

上の画像,Visual StudioがCUIアプリケーションをデバッグ実行したときのもの. 「続行するには...」の部分はVisual Studioが自動的に追加するもので, プログラムが終わっても勝手にコマンドプロンプトが閉じないようになっています.何気にありがたい機能…

QString::toStdString() のバグ

いきなりですが,次のコードはWindows環境でバグることがあります. #include <QtCore/QString> #include <string> ... { ... // その1 QString qtstr(tr("foobar")); std::string stdstr; stdstr = qtstr.toStdString(); // だめ ... // ここでヒープが壊れる } { ... // その2 QStr</string></qtcore/qstring>…

VC++ランタイムが不要なPython DLLのビルド

Windows環境でPythonを組み込んだアプリケーションを開発してたんですが、Windows用インストーラでsystem32にコピーされるDLL(python**.dll)は、どうやらVC++ランタイムが必要なようです。そう、Microsoftから「再頒布可能パッケージ」という名前でダウン…

boost::spirit::leaf_node_dのバグ

boost 1.47.0のspirit(Qiじゃなくて古い方)で、ある言語のパーサを作ってたんですが、次のような構文規則 identifier = leaf_node_d[ lexeme_d[(alpha_p | '_') >> *(alnum_p | '_')] - keywords ]; を書いたところ、どうもうまく動作しない。 具体的にど…

アルファ値を考慮したレイヤー合成

最近新しいPhotoshopを手に入れて、少し浮かれているお出汁orいりもとです。さて、Photoshopをはじめレイヤー機能を持つ画像処理ソフトには、ほぼ必ずブレンドモードの設定があります。 これは上下レイヤーの色情報を「合成」して別の色を作り出す処理で、Ph…

クライアント領域のサイズからウィンドウ全体のサイズを設定する

ちょっとTwitterで流れてたので書いておく。 Win32 APIでウィンドウのサイズを操作する場合、クライアント領域と非クライアント領域というものを常に意識しなければならない。 たとえば次のようなウィンドウがあったとする。 クライアント領域というのは我々…

多項式の計算で乗算を増やさない方法

数値計算なんかをプログラムで書いてると、多項式の値を求めたいことがよくある。 たとえば次の多項式これを計算するコードは、たとえば次のようになる。 // C/C++ f = x*x + 2*x + 3; もう少し一般的に、次の多項式について、と係数の配列からを計算する関…

プログラミング言語「Ikura」を作ってみた。

はーい! ちゃーん! ばぶう! (挨拶) ……先日、研究室で、「イクラちゃんの言葉でプログラミング言語作ったらどうなる?」という話になりまして、Webで検索しても(言及してる人はいたけど)具体的に定義されたものはないみたいで、ならいっそ作っちゃえっ…

PHPでTwitterのOAuth認証をする

昔のブログで書いたものの焼き直しです(割とアクセス数多かったので)。タイトルのことを知り合いに聞かれたんですが、自分もOAuthに関しては少し怪しかったので、勉強がてらソースを作りました。 しかし、Webですぐに見つかる資料だと、ちょっと情報が足り…

Legendre多項式で関数近似する

最近プログラムを書く機会があったので、そのまとめ。Legendre多項式とはについての多項式で、 それぞれがすべて正規直交しているので、フーリエ級数のように データ列を関数近似するのに使われるようです。 (フーリエ級数ほどお目にかからないけど)具体的…

test

#include <stdio.h> int main(void) { printf("Hello, World!!\n"); return 0; } ++++++++[>++++++++>++++++++++++>+++++>++++<<<<-] >++++++++.>+++++.+++++++..+++.>++++.>.<<<+++++++++++++++.>.+++.------.--------.>>+..>++++++++++.</stdio.h>