program

STA でのマーシャリング

STA(Single Thread Apartment)のスレッディングモデルで COM を生成して、何らかの処理を COM に投げた場合、その処理は即座に実行されるわけではなく、マーシャラーによってメッセージキューに溜められ、そのメッセージが処理されるのを待ちます。 普段は…

セッションを超えた Mutex の動作(2)

セッションを超えた Mutex の動作 NULL の DACL を入れてやればちゃんとハンドルを取得できました。 SECURITY_DESCRIPTOR sd; ::InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION); ::SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE); S…

スマートポインタ(機能限定版)

スマートポインタとしての最低限の機能だけを実装してみますた。

COM の親切な対応

COM の exe サーバのスケルトンを作ると、CAtlExeModuleT<> を使ったメインクラスが作成されるんだけど、こいつがなかなか面白いことをしてくれる。 クライアント側がこの COM を生成すると、exe が起動され、このアプリは起動した状態を保ちます。 2つ目の…

セッションを超えた Mutex の動作

2重起動を防止するために ::CreateMutex() して ::GetLastError() でどうこうする、っていうのはよくあると思うけど、FUS(Fast User Switching: Windows XP でログオフを選択したときに出てくるユーザ切り替えのこと) によってセッションを超えて起動し…

Yanesdk.Sound.Sound 改造(2)

Yanesdk.Sound.Sound 改造 前のバージョンでのバグを修正したのと、再生位置取得と停止イベント等のイベントを追加しました。 id:melpon:20000107 再生位置は、非同期で更新されるので、排他処理を行うようにしました。 必要最低限のところだけ排他制御をし…

LocalArray

固定配列をメンバに持たせる場合、その領域を動的に確保して Length と一緒に管理するか、メンバ内に固定配列を用意することになるんだけど、今回は動的に確保するのはエラー処理がめんどいのでやらないことになりました。 で、当然、 class Hoge { ... }; c…

Yanesdk.Sound.Sound 改造

Yanesdk の掲示板にて、 はじめまして。 BGMとしてループ再生するときに、全体をループさせるのではなく、 LoopStartとLoopEndの場所をタグなり外部ファイルなりで指定して、 頭から再生開始して、途中から途中まででループさせようとしています。SDK…

OpenGL のブレンディングテスト

OpenGL で画像をブレンドする場合、glBlendFunc() という関数を使うわけですが、そのテストをするためのツールを Yanesdk で作ってみました。 まあ、単に自分が「このブレンドとこのブレンド組み合わせるとどうなるんだろ?」と思って作ってみただけです。 …

Yanesdk で FillRectangle を行う(v1.55)

まず、どこかで1x1の白のテクスチャを作ります。 Bitmap bitmap = new Bitmap(1, 1, PixelFormat.Format32bppArgb); bitmap.SetPixel(0, 0, Color.FromArgb(255, 255, 255, 255)); texture = new Yanesdk.Draw.GlTexture(); texture.SetBitmap(bitmap); …

multimap

描画のプライオリティを SortedDictionary を使って、 SortedDictionary<int, DrawInfo> drawInfoList; とかやろうと思ったんですが、これだと同じプライオリティが使えないので全然ダメポ。 STL なら multimap があって、重複したキーが使えて非常に楽だったんですが、どう</int,>…

わんくまキタ━━━━(゚∀゚)━━━━!!

わんくま同盟に参加キタ━━━━(゚∀゚)━━━━!! http://blogs.wankuma.com/melt/ キタ━━━━(゚∀゚)━━━━!!

Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル

http://www.hyuki.com/yukiwiki/wiki.cgi?WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinux via: id:sakuneko:20061217#p2 変態的すぎる……。

入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装

http://d.hatena.ne.jp/hatenadiary/20061215 色付けキタ━━━━(゚∀゚)━━━━!!!!

再帰的なテーブルの文字列を連結する

例えば、 create table TextTable( TextId integer not null, Text varchar(100), NextId integer, primary key(TextId), foreign key(NextId) references TextTable(TextId), ); こんな風に、再帰的になっている、単方向リンクリストのようなテーブルがあっ…

わんくま同盟 東京勉強会 #3

http://www.wankuma.com/seminar/20061209tokyo3/Default.aspx これに行ってきますた。。

DB 接続

やっと出来たよママン(;´Д`) SqlDataSource のデータバインドで今の無料サーバにアクセスしてみたんだけど、今の無料サーバの DB は外部からの接続を許可してないみたいなので、ローカルからサーバにアクセスしてデバッグすることが出来ない。 なので SQL…

テキストをリアルタイムでコピー

http://www.melt.dev-asp.net/TextTest.aspx はい、ASP.NET のコード全然書かずに JavaScript でやってますごめんなさい(ノ∀`) デザイナで置いたのでコンポーネントは使ってますががが。 ちゃんと Atlas 使わないとなぁ……。

ASP.NET AJAX の環境が使える無料レンタルサーバ登場

http://blogs.wankuma.com/ogiogi/archive/2006/12/06/48832.aspx さっそく登録(*´д`*)ハァハァ ASP.NET 勉強するぞ(`・ω・´)

誰か翻訳して下さい

http://pc8.2ch.net/test/read.cgi/tech/1147832791/888-901

STREXPAND() と WSTRCOMPRESS() について(2)

STREXPAND() で文字列を変換する場合、単純に変換元の文字列に大して strlen で長さを取得して2倍の大きさでメモリを確保すると、全角文字が含まれていた場合に無駄な領域が出るのでもったいないです。 また、静的に領域を用意しても、場合によってはその大…

STREXPAND() と WSTRCOMPRESS() について

BREW API リファレンスの STREXPAND の説明を見てみると、 説明: 入力の文字が127より小さいか等しい場合、入力文字列をワイド文字に拡張します。2 倍幅になった文字(>127)が pDest にコピーされます。 って書いてあるんだけど、これ、正確には違う。 例え…

SelectEnumerable

http://blogs.wankuma.com/episteme/archive/2006/12/01/48016.aspx class Hoge{ private int id; public Hoge(int id) { this.id = id; } public void Func() { Console.WriteLine("func({0})", id); } } Hoge[] hogeArray = { new Hoge(0), new Hoge(1), n…

バッチファイルでファイルサイズ取得

for %%I in ( ファイル名 ) do set size=%%~zI size にファイルサイズがセットされます。

ARM 役立ち情報

「ARMで使用する効率的なCの記述」が ARM 本家にあることを、id:sakuneko さんに教えて頂きました。感謝感謝。 アプリケーションノート34 ARMで使用する効率的なCの記述 https://www.jp.arm.com/document/manual/files/C_34pdf.pdf 自分は基本的に ADS と AR…

C# で低レベル画像転送

C# には Bitmap クラスが用意されているのだけれども、ちょっとばかしアルファブレンドだの加算合成だの乗算合成だのを比較的高速に処理する必要が出てきたので、メモリを直接弄ってごにょごにょしてみることにしました。 が、しかしこれが意外に頭を悩ませ…

組み込み機器のためのメモリ管理における断片化の改善について

http://www.jaist.ac.jp/library/thesis/is-master-2002/paper/ttakaha/paper.pdf 大学ってこんなおもしろいことやってるのか……いいなぁ……。

BrewSDK 開発(7)

文字列クラスと、それを描画するための関数を実装しました。

.NET Framework 2.0 の string のバグ?

今、C# の string クラスのインターフェースを真似て BREW 用の文字列クラスを作っている関係で、string クラスの仕様を一通り調べてたんだけど、なぜか string.LastIndexOf() がおかしな動作をする。 string str = "あいうえお"; // -1 str.IndexOf("あ", 5…

文字列クラスの効率

今、C++ で文字列を表すクラスを書いているんだけど、とりあえずインターフェースとして C# の String クラスを真似してたりする。