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;
}
相关推荐
KeyPan4 小时前
【Ubuntu与Linux操作系统:十、C/C++编程】
linux·运维·服务器·c语言·c++·算法·ubuntu
我想学LINUX6 小时前
【2024年华为OD机试】 (C卷,100分)- 消消乐游戏(Java & JS & Python&C/C++)
java·c语言·javascript·c++·游戏·华为od
skywalk81637 小时前
C语言基本知识复习浓缩版:数组
c语言·数据结构·c++·算法
GHL2842710907 小时前
面试:类模版中函数声明在.h,定义在.cpp中,其他cpp引用引入这个头文件,会有什么错误?
c++·学习
IOT-Power8 小时前
<C++学习>C++ Boost 输入与输出教程
c++
Victoria.a8 小时前
数据在内存的存储
c语言·c++
#include>9 小时前
【C++boost::asio网络编程】使用asio协程搭建异步echo服务器的笔记
服务器·网络·c++
kingbal9 小时前
windows:下RabbitMQ安装后,无法进入web管理页面
windows·rabbitmq
arong_xu9 小时前
深入解析 C++ 类型转换
开发语言·c++·类型转换·casting
labuladuo5209 小时前
洛谷 P3435 [POI2006] OKR-Periods of Words(扩展KMP+线段树做法)
数据结构·c++·算法