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;
}
相关推荐
AA陈超20 小时前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
铅笔小新z20 小时前
【C++】从理论到实践:类和对象完全指南(中)
开发语言·c++
千疑千寻~20 小时前
【C++】std::move与std::forward函数的区别
开发语言·c++
hansang_IR20 小时前
【记录】四道双指针
c++·算法·贪心·双指针
_OP_CHEN21 小时前
算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化
大数据·c++·算法·acm·算法竞赛·倍增思想
Murphy_lx21 小时前
C++ 条件变量
linux·开发语言·c++
xie0510_21 小时前
C++入门
c++
AA陈超21 小时前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎
羚羊角uou21 小时前
【C++】智能指针
开发语言·c++
杜子不疼.21 小时前
【C++】哈希表基础:开放定址法 & 什么是哈希冲突?
c++·哈希算法·散列表