下面是<<Windows图形编程>>一书的例 1.1.2://Hello2.cpp#define STRICT
#define WIN32_LEAN_AND_MEAN#include <windows.h>
#include <tchar.h>
#include <assert.h>void CenterText(HDC hDC,int x,int y,LPCTSTR szFace,LPCTSTR szMessage,int point)
{
HFONT hFont=CreateFont(-point*GetDeviceCaps(hDC,LOGPIXELXY)/72,
0,0,0,FW_BOLD,TRUE,TRUE,FALSE,FALSE,
ANSI_CHARSET,OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,VARIABLE_PITCH,szFace);
assert(hFont);
HGDIOBJ hOld=SelectObject(hDC,hFont);

SetTextAlign(hDC,TA_CENTER|TA_BASELINE);
SetBkMode(hDC,TRANSPARENT);
SetTextColor(hDC,RGB(0,0,0xFF));

TextOut(hDC,x,y,szMessage,_tcslen(szMessage));
SelectObject(hDC,hOld);
DeleteObject(hFont);
}const TCHAR szMessage[]=_T("Hello,World");
const TCHAR szFace[]=_T("Times New Roman");#pragma comment(linker,"-merge:.rdata=.text");
#pragma comment(linker,"_align:512");extern "C" void WinMainCRTStartup()
{
HDC hDC=GetDC(NULL);
assert(hDC);
CenterText(hDC,GetSystemMetrics(SM_CXSCREEN)/2,GetSystemMetrics(SM_CYSCREEN)/2,
szFace,szMessage,72);
ReleaseDC(NULL,hDC);
ExitProcess(0);
}请问在VC++命令提示符中如何编译它?谢谢了。

解决方案 »

  1.   

    NewProject   then  copy
      

  2.   

    我知道的,但是一般情况下控制台应用程序的入口是main()函数,而windows应用程序的入口函数是WinMain(),这个程序的意思是要将WinManCRTStartup()函数作为其入口函数。我记得连接器有以下选项可以完成这项功能:
    /entry:WinMainCRTSTartup 但是这样做会失败的。
    以前做了一些OpenGL的glut小应用程序,里面把控制台去掉的选项就是如此:
    /entry:mainCRTSTartup /subsystem:windows 
    但是在这里不知道为什么行不通。