toshiyukのプロフィール

@toshiyuk toshiyuk
ありがとう数82
質問数0
回答数122
ベストアンサー数
36
ベストアンサー率
41%
お礼率
0%

  • 登録日2007/02/27
  • #defineの定数を文字列として読み込む

    #define A "xxx" #define B "yyy" と定義しておいて scanf("%s", str) で読み込んだ文字列strが "xxx"だった場合、"yyy"だった場合のように分岐したいのですが このとき if(str == "xxx") のように中身を指定するのではなく if(str == AA) のように定数で分岐させることってできますか? 上記のままではできませんが、何か特別な関数とかでできるのでしょうか?

  • #defineの定数を文字列として読み込む

    #define A "xxx" #define B "yyy" と定義しておいて scanf("%s", str) で読み込んだ文字列strが "xxx"だった場合、"yyy"だった場合のように分岐したいのですが このとき if(str == "xxx") のように中身を指定するのではなく if(str == AA) のように定数で分岐させることってできますか? 上記のままではできませんが、何か特別な関数とかでできるのでしょうか?

  • 新たな疑問 for( ; ; ){

     ループプログラムでfor( ; ; ){ の; ;てどんなループですか? 以下参考にされてください。 練習問題 5-18 数値を繰り返して入力し、0が入力されたら入力を止め、それまでの合計を表示するプログラムを作成しなさい。 ________________________________________ int sum = 0; int value; for( ; ; ){ scanf( "%d", &value ); if( value == 0 ) break; sum += value; } printf( "合計は%d", sum );

  • DLLの共有メモリと排他処理???

    共有メモリを持つDLLを作りました 機能は単純です (1)カウンターをアップしてその値を返す ⇒ CountUp() (2)カウンターの現在値を返す ⇒ TotalCount() #pragma data_seg(".HShared") static int m = 0; #pragma data_seg() #pragma comment(linker,"/Section:.HShared,rws") int WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved) { return TRUE; } EXPORT int CALLBACK CountUP() { m++; return m; } EXPORT int CALLBACK TotalCount() { return m; } このDLLは多数のアプリから呼ばれます 当然同時に呼ばれることもあるでしょう カウンター m には排他処理を施してありません 大丈夫でしょうか? それとも排他は Windows様 がしてくれているのでしょうか? 色々と調べてみましたが良く分かりません 宜しくご教授お願い申し上げます

  • VC++2010expressのアセンブラについて

    下記の2個のファイルを持つプログラムでインラインアセンブラのcall命令で配列変数の1部が消滅する原因を教えてください。 main.cpp int *disp; int data[2]; WinMain() { _asm mov disp,offset disp_top ・ ・ ・ メッセージループへ _asm{ disp_top: 下記move()からcallされた時、ここの時点でdata[0]の内容が消滅している。data[1]の内容は1のまま存在する。 ・ ・ ・ ret   } } move.cpp extern int *disp; extern int data[2]; void move() { data[0]=1; data[1]=1; _asm{ call disp callから復帰した、ここの時点ではdata[0]の内容は1で復帰している。   } }