VisualStudio2010 VC++

ガベージコレクショのメモリ管理の基本1,参照はオブジェクト側から。 2,メモリの開放はヒープ側から。参照はGCPtrであるオブジェクト側から確認します。std::setにinsert,delすることでオブジェクトの生存を管理します。オブジェクトが必要なくなりdelさ…

ガベージコレクタでは、classに対してdeleteを使わない同等の処理が必要になる。 case1とcase2は同じであるが、case2ではデストラクタを取り出し、外側からデストラクトしている。 #define GC_NEW(T) new(GCAllocate::GC_new( sizeof(T) ))T typedef void (*…

暗号化した文字を無事サーバに届けるには、char byte WCHAR間の変換のが必要で、整理してみた。 ネット上では標準になっているUTF8を使用するとして、暗号化した文字を送ると以下になる。 ○Client(C++)->Server(C#)元のデータ(WCHAR)-->EncodeToUtf8(UTF8)->…

AES256で暗号化された文字を復号化。 RFC2898 PBKDF2の仕様を満たす関数がMSのCryptAPIに含まれていないが、 ネット上で代わりを見つけたので試してみた。 暗号化はC#static void Main(string[] args) { string password= "password"; // パスワード byte[] …

サーバ上にパスワードを登録する時、サーバは秘密鍵と公開鍵を作成し公開鍵をネットを使ってクライアントへ送出する。 クライアントはパスワードをこの公開鍵を用いて暗号化し、サーバへ送る。 サーバは暗号化されたパスワードを秘密鍵で復号し、パスワード…

C++でウインドウ作成する際に必ず出てくる、WNDCLASSEXのlpfnWndProcはC++のメンバ関数との相性がひどく悪い。BOOSTを使ってもお手上げで、どう転んでもリンクしない。WNDCLASSEX wcs; wcs.lpfnWndProc = (WNDPROC)... C++クラスのstaticでないメンバ関数を…

VC++は数えて10回目のバージョンアップになるらしい。VC10。 C++0xで追加されたLambdasを、試してみた。 関数オブジェクトでできる範囲を、Lambdasに置き換えているらしい。 あーなるほど。で、あまり過大な期待はしない方がいいようだ。Wikiに書いてある機…