GCC 编译 Windows API 程序

前言

这学期学可视化程序设计,要使用 Windows API 绘制界面,由于笔者的笔记本硬盘太小,无法装臃肿的 VS(主要是不想装),也不想用 VC++ 6.0,所以就选用 GCC 来编译。

安装 msys2

下面为 64 位操作系统版本的 msys2 下载地址:

http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe

下载完成后,像普通软件一样安装即可。

安装 toolchain

安装完成后,在开始菜单下会有如下目录结构:

|- \MSYS2
  |- MSYS2 MinGW 32bit
  |- MSYS2 MinGW 64bit
  |- MSYS2 MSYS

关于三这区别参考这篇博文,安装 toolchain 选择哪个都行,但以后编译一定选择 MSYS2 MinGW 64/32bit,不然会提示命令找不到(主要原因是提供 MinGW 环境)。

选择三者其中一个打开 bash , 输入下面命令安装 toolchain :

pacman -S mingw-w64-x86_64-toolchain

编译第一个程序

编写一个内容如下的 hello world 源程序文件,接着切换到文件保存路径,然后输入命令 gcc hello.c (用 c++ 语言能否编写及怎么编写还未弄清)就会生成 a.exe,运行就会弹出一个 Hello world! 窗口。

hello.c

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) {
    MessageBox (NULL, "Hello world!", "Title",MB_OK);
    return 0;
}

后话

由于笔者这学期刚学 Windows API 程序,没写过Windows API 程序和用 gcc 编译,所以使用 gcc 编译会有很多坑,若是不想折腾就使用 VC++ 6.0 或者 VS 。笔者会在博客上继续记录一些坑,同时会修改这篇文章的不当之处。

posted @   ZachLim  阅读(3802)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示