请问英文中如何表达“八卦”
程序一般分为控制台程序,win32程序等等,你所说的cmd的程序都属于控制台程序,这样的程序输出时都会调用控制台程序,也就是命令行。但更为常见的是win32程序,这样的程序是带有窗口的程序,它基于win32的消息机制进行编程。如按下鼠标就会产生一个鼠标按下消息,然后会去调用一段自己写的代码。win32程序是带有资源的程序,也就是你所说的图片,这种资源在程序链接的时候自动形成一个exe文件(当然也可以放在dll文件中进行动态链接),像魔兽争霸这样的程序大多是用其它软件做界面,导出为资源文件,然后再去链接成一个完整的程序。你可以去看下windows编程的东西,有本书叫《深入浅出MFC》,里面第一章讲了一些这方面的基础知识,可以去看看。另外如有不明白可以给我留言。我晕,你是不是刚刚学写程序啊。举个例子,这段代码保存为.c:
#include<stdio.h>
main()
{
printf("hello!");
}
用VC打开后编译,它会默认按控制台程序进行编译,运行就是cmd模式。这段代码是控制台程序的格式。
下面一段是win32程序格式:
#include<stdio.h>
#include<windows.h>LRESULTCALLBACKMyWindowsProc(
HWNDhwnd,//handletowindow
UINTuMsg,//messageidentifier
WPARAMwParam,//firstmessageparameter
LPARAMlParam//secondmessageparameter
)
{
switch(uMsg)
{
caseWM_CLOSE:
DestroyWindow(hwnd);
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);
}
return0;
}intWINAPIWinMain(
HINSTANCEhInstance,
HINSTANCEhPrevInstance,
LPSTRlpCmdLine,
intnCmdShow
)
{
WNDCLASSstWnd;
stWnd.cbClsExtra=0;
stWnd.cbWndExtra=0;
stWnd.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);
stWnd.hCursor=NULL;//LoadCursor(NULL,IDC_CROSS);
stWnd.hIcon=NULL;//LoadIcon(NULL,IDI_ERROR);
stWnd.hInstance=hInstance;
stWnd.lpfnWndProc=MyWindowsProc;
stWnd.lpszClassName="MyWindow";
stWnd.lpszMenuName=NULL;
stWnd.style=CS_HREDRAW|CS_VREDRAW;RegisterClass(&stWnd);
HWNDstWin;
stWin=CreateWindow("MyWindow","我的Windows程序测试!",WS_OVERLAPPEDWINDOW,0,0,400,300,NULL,NULL,hInstance,NULL);
ShowWindow(stWin,SW_SHOWNORMAL);MSGstMsg;
while(GetMessage(&stMsg,NULL,0,0))
{
TranslateMessage(&stMsg);
DispatchMessage(&stMsg);
}
return0;
}
这是一个标准的win32程序,运行后可生成一个窗口。intWINAPIWinMain()为程序的入口函数,里面首先要注册窗口类,再进行消息循环等等,比控制台程序复杂的多。在VC下新建一个win32Application工程,把这段代码保存为.cpp添加到工程里就可以运行。
哪里不明白说明白点,别一句“还是不太明白”就完了.win32程序是带资源的,资源里面包含图片,声音等一些多媒体元素。资源文件扩展名为.rc。编译后为.res。每个资源都有ID,程序里面调用资源的时候就通过ID进行调用。程序编译后扩展名为.obj,链接时,链接器会自动把.res文件.obj文件链接到一起形成一个.exe文件。这样程序运行时就会出现图片,声音等等。这些都是windows编程里面基本的知识,你去学一下就行了。