Windows下SDL2创建最简单的一个窗口

先看运行效果

再上代码:

复制代码
#include <stdio.h>
#include "SDL.h"

int main(int argc, char* argv[]) 
{
    // 初始化SDL视频子系统
    if (SDL_Init(SDL_INIT_VIDEO) == -1)
    {
        printf("Error: %s\n", SDL_GetError());
        return -1;
    } 

    // 创建一个窗口
    SDL_Window *window = SDL_CreateWindow("My", 100, 100, 500, 500, SDL_WINDOW_SHOWN);

    // 检查窗口是否成功创建
    if (!window)
    {
        printf("Error: %s\n", SDL_GetError());
        return -1;
    }

    // 获取窗口的表面对象
    SDL_Surface *surface = SDL_GetWindowSurface(window);

    // 在表面对象上绘制一个红色矩形
    SDL_FillRect(surface, NULL, SDL_MapRGB(surface->format, 255, 0, 0));

    // 更新窗口表面以显示绘制的内容
    SDL_UpdateWindowSurface(window);

    // 延迟3秒,以便用户可以看到窗口
    SDL_Delay(3000);
 
    // 销毁窗口并退出SDL
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}
相关推荐
zdd567896 小时前
关于Windows 11 家庭中文版 25H2中ensp无法启动路由器,报40错的解决方法
windows
kk哥88996 小时前
C++ 对象 核心介绍
java·jvm·c++
helloworddm6 小时前
WinUI3 主线程不要执行耗时操作的原因
c++
无能者狂怒7 小时前
YOLO C++ Onnx Opencv项目配置指南
c++·opencv·yolo
集智飞行7 小时前
c++函数传参的几种推荐方式
开发语言·c++
胡闹549 小时前
Linux查询防火墙放过的端口并额外增加需要通过的端口命令
linux·运维·windows
点云SLAM9 小时前
C++ Template(模板)解读和模板报错如何“逆向阅读”定位
c++·c++20·c++模版·c++高级应用·c++模版报错定位
北极糊的狐9 小时前
若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因
java·windows·sql·mybatis
明洞日记9 小时前
【数据结构手册008】STL容器完全参考指南
开发语言·数据结构·c++
农夫山泉2号10 小时前
【c++】——c++编译的so中函数有额外的字符
java·服务器·c++