初学者的问题

@Rainbow.Sole 2003-10-18 07:04:24
用vc编一个显示hello 的程序,在编译的时候没有错误,可是链接会出现两个错误,有一个好像是与什么_main有关的,我的英语不好,不明白。哪位高手来解答一下.
...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
@Rainbow.Sole 2003-10-20
  • 打赏
  • 举报
回复
我用的是这个程序,应该怎么操作才不会出错.
我新建的时候用的是 文件 中的 c++ source 是不是这儿错了?

#include <windows.h>

HWND InitWindow(HINSTANCE hInstance, int nShowCmd);
LRESULT CALLBACK WindowProc(HWND hWindow, UINT message, WPARAM wParam, LPARAM lParam);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{

MSG msg;

HWND hWindow;

hWindow = InitWindow(hInstance, nShowCmd);
if(hWindow == FALSE)
{
DestroyWindow(hWindow);
return false;
}
while(GetMessage(&msg, NULL, 0, 0) != 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

HWND InitWindow(HINSTANCE hInstance, int nShowCmd)
{
HWND hWindow;
WNDCLASS WindowClass;

WindowClass.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
WindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WindowClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
WindowClass.style = CS_HREDRAW | CS_VREDRAW;
WindowClass.lpfnWndProc = WindowProc;
WindowClass.cbClsExtra = 0;
WindowClass.cbWndExtra = 0;
WindowClass.hInstance = hInstance;
WindowClass.lpszMenuName = "ClassName";
WindowClass.lpszClassName = "ClassName";

RegisterClass(&WindowClass);

hWindow = CreateWindowEx(0, "ClassName", "WindowTitle",
WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_SYSMENU,
(GetSystemMetrics(SM_CXFULLSCREEN) - 640)/2,
(GetSystemMetrics(SM_CYFULLSCREEN) - 480)/2,
640, 480,
NULL, NULL, hInstance, NULL);
if(!hWindow)
return FALSE;

ShowWindow(hWindow, nShowCmd);
UpdateWindow(hWindow);

return hWindow;
}

LRESULT CALLBACK WindowProc(HWND hWindow, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
PostMessage(hWindow, WM_CLOSE, 0, 0);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWindow, message, wParam, lParam);
}
5will 2003-10-20
  • 打赏
  • 举报
回复
你建立了工程WIN32 Application,你需要winmain
或者你是在编C/C++需要main
其它时候不需要入口函数,因为vc已经默认帮你写出来
@Rainbow.Sole 2003-10-20
  • 打赏
  • 举报
回复
console是什么意思呢?
我的程序的入口函数是winmain呀
我开始是选择一个c++ source文档编的,是不是这错了?
luwenguang 2003-10-19
  • 打赏
  • 举报
回复
console 的入口函数是: main

win32 的入口函数是:WinMain


初学的时候都容易犯这样的错误。

有两种方法改:

1 重新 new 一个 project 。选择 win32。而不是 console;
2 Project -->Setting->Link-->

Project Options:中有个 /subsystem:***
删除 /subsystem:***

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧