このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
描画コードとの連携も完成したので、
ちゃんと動作するかテストしてみる。
実行してみると、画面の中央に、
「Hello World!」と表示されたことが確認できた。
……これだけだと短すぎるので、もう少し書くか。
このスクリーンセーバーの実行は
C++ ネイティブアプリと違い、起動に多少時間がかかる。
これは、C++/CLI で書いたプログラムは、
C++ のネイティブプログラムではなく、
CLR で実行されるアセンブリとなるからだ。
C++ 言語を使って開発を行っているため、
一見、原則 C++ コードのプログラムであり、
必要な部分だけ CLI オブジェクト呼び出しているようだが、
実際は、殆どのコードは機械語ではなく、
CLI 準拠の CIL (MSIL) としてコンパイルされている。
どうしても CIL で取り扱えない場合や、
#pragma unmanaged 等で指示がある場合に限り、
C++ ネイティブコードとして機械語化されるが、
それは、P/Invoke と似たような手法で、
CLR から呼び出されているのである。
そのため、C++/CLI のプログラムは、
起動の時点で CLR を必要とするので、
他の CLI プログラムと同じように時間がかかるのだ。