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;
}
相关推荐
xiaoye-duck5 小时前
《算法题讲解指南:递归,搜索与回溯算法--递归》--3.反转链表,4.两两交换链表中的节点,5.快速幂
数据结构·c++·算法·递归
山栀shanzhi5 小时前
归并排序(Merge Sort)原理与实现
数据结构·c++·算法·排序算法
Trouvaille ~5 小时前
【递归、搜索与回溯】专题(七):FloodFill 算法——勇往直前的洪水灌溉
c++·算法·leetcode·青少年编程·面试·蓝桥杯·递归搜索回溯
P P PHP5 小时前
windows电脑安装openclaw步骤(养龙虾)
windows
zhooyu6 小时前
二维坐标转三维坐标的实现原理
c++·3d·opengl
10Eugene7 小时前
C++/Qt自制八股文
java·开发语言·c++
Devil_MayCare7 小时前
0x80096005 时间戳签名和/或证书无法验证或已损坏(解决办法)
windows
「QT(C++)开发工程师」7 小时前
C++11 新特性 正则表达式、随机数库、元组
c++·正则表达式
深巷wls8 小时前
Openclaw部署+飞书接入(windows环境)
windows·飞书·openclaw
free-elcmacom8 小时前
C++ 默认参数详解:用法、规则与避坑指南
开发语言·c++