当前位置: 首页 > article >正文

Windows与Linux下 SDL2的第一个窗口程序

Windows效果和Linux效果如下:

 下面是代码:

#include <stdio.h>
#include "SDL.h"
 
int main(int argc, char* argv[]) 
{ 

    // 初始化SDL视频子系统
    if (SDL_Init(SDL_INIT_VIDEO)  != 0)
    {
        // 如果初始化失败,打印错误信息
        printf("Error: %s\n", SDL_GetError()); 
        return -1;  
    }

    // 创建窗口
    SDL_Window *window = SDL_CreateWindow("My", 
    SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,   640, 480, SDL_WINDOW_SHOWN);

    if (!window)
    {
        // 如果窗口创建失败,打印错误信息
        printf("Error: %s\n", SDL_GetError()); 
        return -1; 
   }

     // 创建渲染器
    SDL_Renderer *  renderer = SDL_CreateRenderer(window, -1, 0);
    if (renderer == NULL) {
        // 如果渲染器创建失败,记录错误信息
        SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Couldn't create renderer: %s", SDL_GetError()); 
        return -1; 
    }

    // 设置渲染器的绘制颜色为红色
    SDL_SetRenderDrawColor( renderer, 0, 255, 0, 255 );

    // 清除渲染器的绘制缓冲区
    SDL_RenderClear( renderer );

    // 将当前渲染器的绘制结果呈现到窗口上
    SDL_RenderPresent( renderer );

    // 暂停10秒,以便用户可以看到窗口
    SDL_Delay(10000);
  
    // 销毁窗口并退出SDL子系统
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0; // 主函数正常结束
}

Windows下下载dll库就行了

Linux下需要安装   

sudo apt install  libsdl2-dev


http://www.kler.cn/a/301718.html

相关文章:

  • Flume 单机与集群部署详细教程
  • Linux从0——1之shell编程4
  • 数据分析-Excel基础操作
  • 如何利用WebSockets实现高效的实时通信应用
  • Hadoop生态圈框架部署(六)- HBase完全分布式部署
  • python:用 sklearn 构建 K-Means 聚类模型
  • 28BYJ-48步进电机详解(五线四相 STM32)
  • 『功能项目』播放动画时禁止点击移动【40】
  • Leetcode 第 138 场双周赛题解
  • 基于物联网的智能控制系统设计方案——物联网智能化控制箱
  • dp + 计数,CF 1920 E - Counting Binary Strings
  • ‌汽车一键式启动系统‌包含哪些功能
  • ARM32开发——DMA
  • C++ 二叉树进阶
  • STM32L051K8U6-HAL-串口中断控制灯闪烁速度
  • php反序列化基础
  • ultralytics实现DeepSort之级联匹配
  • 学习Vue3的第五天
  • MAC 地址简化概念(有线 MAC 地址、无线 MAC 地址、MAC 地址的随机化)
  • Android Radio2.0——有效电台扫描(八)
  • 【网络】高级IO——五种IO模式
  • 概念——二连杆与三连杆解算
  • VS2019界面介绍
  • vue3+ant design vue动态实现级联菜单~
  • Gradle和Maven
  • 第四部分:1---文件内核对象,文件描述符,输出重定向