タグ

ブックマーク / wisdom.sakura.ne.jp (4)

  • OpenGL入門

    ここで紹介されるプログラムは Microsoft Windows XP で動作確認されています ソースは Borland C++ Compiler 5.5 を用いてコンパイルされています 解説は OpenGL Version 1.1 に準拠しています。 この講座は ANSI C/C++ 及び GUI プログラムの開発経験者を想定しています

  • スレッドの同期

    クリティカルセクション マルチスレッドプログラミングは、プログラムの全体の分野でも高度な手法です プログラムをする上で、当に必要な場合を除けば使うことを避けるべきでもあります 同じことを、タイマーで実現できるのならば、タイマーを使うべきであるとも言えます なぜ、スレッドは高度で危険を含むのか それは、同じ記憶領域を複数のプログラム(スレッド)が操作するからです 一つのグローバル変数を、二つのスレッドが同時に参照することを考えてください お互い、この変数を書き換えたり読み込んだりして、重要な処理を行う時 正しい順番で読み書きが行われなかったとき、プログラムの整合性は失われます #include <windows.h> int iCount; DWORD WINAPI ThreadFunc1(LPVOID hWnd) { HDC hdc; TCHAR str[32]; for (iCount

    mugaki
    mugaki 2008/12/30
    win32API で排他制御
  • Microsoft .NET入門 : WisdomSoft

    このページは、現在こちらのページへ移行しています。 この講座は Microsoft .NET Framework SDK で動作確認しています サンプルのプログラムは Microsoft C# 言語を用いています この講座は、C# 言語の知識とオブジェクト指向の理解を前提としています Microsoft .NET の概要については、「C#入門」を参照してください

    mugaki
    mugaki 2008/02/09
  • #と##演算子

    文字列化演算子 マクロ関数だけで使用できる、便利な演算子が用意されています そのひとつが文字列化演算子です マクロ関数で受け取った値に対して#記号をつけることで それを文字列、すなわちダブルクォーテーションをつけた状態に置換えます (プリプロセッサディレクティブであることを忘れないでください。あくまでソース上で置き換わるだけです) #define STRING(str) #str このマクロ関数は、仮引数の値をダブルクォーテーションをつけた状態に置き換えます 次のプログラムを実行してください #include <stdio.h> #define PRINT(str) printf(#str "\n") #define STRING(str) #str int main() { PRINT(Kitty on your lap); printf("%sバイトは1キロバイト" , STRING(

    mugaki
    mugaki 2007/09/19
  • 1