The First Time
Win32ぷろぐらみんぐ このコードだけでWindowsのプログラムができちゃう
file:main.cpp
#include <windows.h>
#include <studio.h>
int WINAPI WinMain(
HINSTANCE hInst,
HINSTANCE hPrevInst,
LPSTR lpszCmdParam,
int nCmdShow) {
MessageBox( NULL, "HelloWorld", "debug", MB_OK);
return 0;
}
int main(int argc, char *argv) {
printf("Hello World\n");
return 0;
}
できあがったソースを コンパイル-リンクしてみますC:\>cl main.cpp /D WIN32 /D _DEBUG /D _WINDOWS /D _MBCS /c うまくいけば main.obj ができあがります。 次にリンク C:\>link main.obj /SUBSYSTEM:WINDOWS /MACHINE:X86 user32.lib
問題なければ main.exe ができあがります。 Memo:MessageBoxを使う場合は user32.lib を 使うことを linkerに伝える main.exeを起動すると メッセージボックスが表示されます OKを押すと終了します。 次に 下のように SUBSYSTEMの部分をCONSOLEとしてみましょう C:\link main.obj /SUBSYSTEM:CONSOLE /MACHINE:X86 user32.lib main.exeを起動すると 今度は コンソールプログラムのエントリmainが呼ばれます
file:Makefile
参考までに 下記は Makefileの例
SRC = main.cpp
OBJ = main.obj
PROGRAM = main.exe
INCLUDE = $(INCLUDE);※必要なものがあれば追加
LIB = $(LIB);※必要なものがあれば追加
LIBS = kernel32.lib user32.lib gdi32.lib
※その他必要なものがあれば追加
CC = cl
L = link
$(PROGRAM) : $(OBJ)
$(L) $(OBJ) /SUBSYSTEM:WINDOWS
/MACHINE:X86 $(LIBS) /OUT:$(PROGRAM)
※実際には一行、行頭はタブ
$(OBJ) :
$CC) /D WIN32 /D _WINDOWS
/D _DEBUG /D _MBCS /c $(SRC)
※実際には一行、行頭はタブ
clean:
del $(PROGRAM) $(OBJ)
C:\> nmake もしくは nmake /F Makefileで
コンパイルとリンクが行われます