`
gryphone
  • 浏览: 433549 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

win32 编程 第一步:编译器 & HelloWorld

阅读更多

win32 编程 即:windows 编程

 

 

 

 

1. 编译器搭建

 

因为第一次进入win32 编程 无论代码还是环境搭建 肯定会有一些问题 考虑到通用性 所以决定最好使用open source 这样即使出现问题 也可以向google求助 最后决定使用MinGW 即:

Minimalist GNU for Windows

 

但是 在尝试几天后 放弃  继续寻找别的编译工具 最后发现这个:lcc-win32  也是免费的哦 而且无论安装/使用 都比较傻瓜

 

lcc-win32 compile 下载链接:http://www.cs.virginia.edu/~lcc-win32/

 

 

2. 首个测试代码:HelloWorld, win32

 

 

 * source code: hello.c

 

#include <windows.h>
#include <stdio.h>

//声明回调函数
LRESULT CALLBACK WinSunProc(HWND hwnd,
							UINT uMsg,
							WPARAM wParam,
							LPARAM lParam
);

int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
   WNDCLASS wndcls;

   //设计窗口类
   wndcls.cbClsExtra = 0;
   wndcls.cbWndExtra = 0;
   wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
   wndcls.hCursor = LoadCursor(NULL,IDC_CROSS);
   wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
   wndcls.hInstance = hInstance;
   wndcls.lpfnWndProc = WinSunProc;
   wndcls.lpszClassName = "2009";
   wndcls.lpszMenuName = NULL;
   wndcls.style = CS_HREDRAW | CS_VREDRAW;

   //注册窗口类
   RegisterClass(&wndcls);

   //创建窗口
   HWND hwnd;
   hwnd = CreateWindow("2009","HelloWorld,win32",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);

   //显示窗口
   ShowWindow(hwnd, SW_SHOWNORMAL);
   UpdateWindow(hwnd);

   //消息循环
   MSG msg;
   while(GetMessage(&msg,NULL,0,0))
   {
       TranslateMessage(&msg);
	   DispatchMessage(&msg);
   }
   return 0;
}

LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
   switch(uMsg)
   {
   case WM_CHAR:
	    char szChar[20];
	    sprintf(szChar,"Char is %d", wParam);
        MessageBox(hwnd,szChar,"中国北京",MB_OK);
	    break;
   case WM_LBUTTONDOWN:
	    MessageBox(hwnd,"Mouse Click","to click w/ Mouse",MB_OK);
		HDC hdc;
		hdc = GetDC(hwnd);
		TextOut(hdc,0,50,"Win32 application",strlen("Win32 application"));
		ReleaseDC(hwnd,hdc);
	    break;
   case WM_PAINT:
	    HDC hDc;
		PAINTSTRUCT ps;
		hDc = BeginPaint(hwnd,&ps);
		TextOut(hDc,0,0,"china",strlen("china"));
		EndPaint(hwnd,&ps);
	    break;
   case WM_CLOSE:
	    if (IDYES == MessageBox(hwnd,"to close this app","app instance",MB_YESNO))
	    {
			DestroyWindow(hwnd);
	    }
	    break;
   case WM_DESTROY:
	    PostQuitMessage(0);
	    break;
   default:
	    return DefWindowProc(hwnd,uMsg,wParam,lParam);
   }

   return 0;
}

 

 

* 用llc-win32 运行效果:

 

 

分享到:
评论

相关推荐

    VC++ HelloWorld

    **VC++ HelloWorld** ...”程序,你已经迈出了学习VC++的第一步。接下来,你可以尝试修改代码,探索不同的输入输出方式,或者学习如何处理用户输入,逐渐积累编程经验。祝你在编程世界里一帆风顺!

    C和C++编程心得

    - **第一步**: 选择一门编程语言开始学习,比如C或C++。这两门语言都是编程学习的优秀起点。 - **第二步**: 找到合适的教材和教程。互联网上有丰富的免费资源可供选择。 - **第三步**: 动手实践。理论知识结合实践...

    《Visual C++ 编程词典》附带光盘资料

    对于初学者来说,设置好开发环境是迈入C++编程的第一步。 “设置自己的开发环境.exe”这个程序很可能是为读者准备的一键安装或配置脚本,旨在简化环境配置过程。通常,配置Visual C++开发环境包括以下几个步骤: 1...

    Java零基础 - 使用javac编译Java程序.md

    ### Java零基础 - 使用javac编译Java程序 在计算机编程领域中,Java是一种广泛使用的高级编程语言,因其跨平台性、安全性以及丰富的类库支持而受...希望本文能帮助你迈出学习Java的第一步,并激发你对Java编程的兴趣。

    java基础语法入门笔记.pdf

    编写Java程序的第一步通常是创建一个简单的“HelloWorld”案例。这个案例展示了Java程序的基本结构和运行流程,包括: 1. 编写程序:创建一个名为HelloWorld.java的文本文件,并在其中输入代码。 2. 编译程序:使用...

    windows ce

    对于初学者来说,建立一个简单的"Hello World"程序是学习任何编程语言或平台的第一步,这有助于理解基本的编程概念和环境配置。 在Windows CE上创建"Hello World"程序,通常会涉及到以下步骤: 1. **安装开发工具*...

    VC++编程指南 一部较好的编程入手指南

    使用VC++的第一步通常是创建一个新的项目。在IDE中选择“文件”-&gt;“新建”-&gt;“项目”,然后选择“Win32控制台应用”模板。填写项目名称,选择存储位置,点击“确定”。这将为你生成一个简单的"Hello, World!"程序...

    java基础语法-day01

    - HelloWorld是学习任何编程语言的第一步,它简单地在控制台上打印出"HelloWorld"。通过编写和运行这个简单的程序,初学者可以理解基本的代码结构和输出机制。 在Java中,HelloWorld程序通常如下所示: ```java ...

    android开发环境搭建-win7_64位.doc

    接下来,可以通过编写并运行一个简单的Java程序(如HelloWorld.java)来测试环境是否正常。 第二步是安装集成开发环境(IDE)Eclipse。Eclipse是一款强大的开源IDE,支持多种编程语言,对于Android开发,可以选择...

    C语言实验讲义

    ”程序是学习任何编程语言的第一步,用于熟悉编译器环境。 - **代码示例**: ```c #include int main() { printf("Hello World!\n"); return 0; } ``` - **说明**: - 使用`#include &lt;stdio.h&gt;`导入标准...

    EVC高级编程及其应用开发

    学习任何编程语言的第一步通常是编写"Hello, World!"程序。在EVC中,这涉及创建一个新的Win32 Console Application项目,编写包含`#include &lt;windows.h&gt;`的源代码,然后在主函数中调用`MessageBox`显示消息框。这个...

    java安装包(Windows64位)

    对于初学者而言,掌握如何安装和配置JDK是学习Java编程的第一步。一旦完成,你就可以开始学习Java语法,创建你的第一个"Hello, World!"程序,并逐渐深入到面向对象编程、异常处理、集合框架、多线程等核心概念。此外...

    qt在windows_安装配置.pdf

    文档中还简要介绍了如何创建一个简单的Hello World程序,这是学习任何编程语言或框架的常见第一步。通过包含 "QApplication" 和 "QPushButton" 头文件,以及编写相应的代码,可以创建一个简单的图形用户界面,显示 ...

    C开发利器大集合实用PPT课件.pptx

    ### C开发利器大集合——Visual C++与C++Builder详解 #### 一、Visual C++ **1.... Visual C++ 是由 Microsoft 公司开发的一款强大的...对于初学者来说,熟悉这些工具的基本使用方法是进入 C/C++ 开发领域的关键第一步。

    VC++6.0最简单的入门程序

    ”程序,这是学习任何编程语言的第一步。这个程序展示了如何在VC++6.0环境下编写、编译和运行C++代码。它通过输出一句话来验证编译器和运行环境的正确配置。 **源代码解析** 王世同编写的“Visual C 6.0编程基础”...

    VS2015下X64汇编项目源码

    创建X64汇编项目的第一步是安装Visual Studio 2015并确保已包含C++工具链。这个工具链不仅支持C++,还支持汇编语言编程。启动Visual Studio,选择"新建项目",在项目模板中找到"Win32控制台应用程序"。在创建项目的...

    Win7-64-Qt5.6.1开发环境下载和安装

    QT5.6.1是Qt框架的一个重要版本,...总的来说,安装QT5.6.1开发环境是迈向Qt编程的第一步,理解其特点和安装流程对后续的开发工作至关重要。通过实践和学习,你可以利用这个强大的框架构建出功能丰富的跨平台应用程序。

    VS编译C语言方法(工程的建立.doc

    首先,打开Visual Studio 2008 Professional版,这是建立C语言工程的第一步。 **步骤2:创建新项目** 进入主界面后,选择“文件” -&gt; “新建” -&gt; “项目”。在弹出的对话框中,从项目类型中选择“VC++”,然后在...

Global site tag (gtag.js) - Google Analytics