SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。...这里使用较新的SDL2库进行编译安装。...解压编译 wbyq@wbyq:~/work_pc$ tar xvf /mnt/hgfs/linux-share-dir/SDL2-2.0.12.tar.gz wbyq@wbyq:~/work_pc/SDL2....pc └── share └── aclocal └── sdl2.m4 9 directories, 88 files 3.3 将SDL2库安装的路径加入系统LD_LIBRARY_PATH...环境变量 因为前面配置了SDL的库安装编译的目录在当前_install目录下,为了编译程序之后,运行程序能找到SDL2的库,需要将库的路径加入到系统环境变量里。
SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。...目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。下面主要介绍一下在Windows下搭建SDL2开发环境的过程。...这个配置在项目->属性->配置属性->链接器->输入->附加依赖项< 这里: 在这里面加上那三个静态库的名字即可(SDL2.lib、SDL2main.lib、SDL2test.lib)。...(ren, bmp); SDL_FreeSurface(bmp); SDL_RenderClear(ren); SDL_RenderCopy(ren, tex, NULL, NULL); SDL_RenderPresent...(ren); SDL_Delay(2000); SDL_DestroyTexture(tex); SDL_DestroyRenderer(ren); SDL_DestroyWindow(win)
下一节在开讲前,会做一次答疑,将为什么选择SDL,SDL的一些疑问讲一下。 准备环境 在我们阅读代码之前,我们准备以下一些常见工具。...直接下载安装即可。...Beyond Compare 4 安装如下: 一直下一步即可。安装完成,我们打开主页: 这里我们点击文件夹比较,当然也可以比较文件,合并,其他的自行研究即可。...Source Insight 3.5 安装: 点击Next 选择同意,然后继续安装。 一直继续即可,直到安装成功。 完成后,我们打开工具,设置我们的名字,公司名,然后OK。...下来我们建立一个SDL的代码工程,方便我们阅读源码。我们选择Project->New Project... 填入名字sdl2.0,点击OK。 然后我们选择我们的SDL源码路径,进行添加。
拓展: SDL(Simple DirectMedia Layer)是一个跨平台的底层开发库,提供操作诸如音频、键盘、鼠标、游戏杆以及显卡等硬件的方法,被很多多媒体播放器、模拟器和流行游戏所使用,SDL支持...Windows、MacOS、Linux、iOS以及Android,也就是说你目所能及的几乎所有平台它都能运行,并且SDL是开源的,完全由C语言编写,可以在C/C++以及众多主流编程语言中被使用。...使用SDL来显示YUV数据的大概步骤是这样的: 第一步,初始化SDL视频子系统并定义YUVOverlay: SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_TIMER..., SDL_YUY2_OVERLAY, screen); 第二步,将YUV数据拷贝到YUVOverlay中(需加锁): SDL_LockYUVOverlay...,显示: SDL_DisplayYUVOverlay(bmp, &rect); 当然,有时候YUV数据(上面的变量yuvdata)的各个分量跟SDL的定义方式不同,需要调换次序,总体而言大概如下图所示:
一、SDL 视频显示函数 1、SDL_Init 函数 使用 SDL 开发库 的 功能 之前 , 都要先 初始化 SDL 系统环境 ; 调用 SDL_Init() 函数 , 可以初始化 SDL 系统上下文环境...SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \ SDL_INIT_JOYSTICK...); 2、SDL_Quit 函数 SDL_Init 函数 的作用是 初始化 要使用的各个子系统 , 使用完毕后需要退出 , SDL_Quit 函数 就是退出 SDL 系统 时需要调用的函数 ; SDL_Quit...SDL 环境 , 用于播放视频 SDL_Init(SDL_INIT_VIDEO); // 创建 SDL_Window 窗口对象 window = SDL_CreateWindow...纹理 是基于 SDL_Renderer 渲染器 对象创建 ; 二、SDL 窗口绘制 - 代码示例 1、SDL 窗口绘制代码 这是在上一篇博客 【FFmpeg】SDL 开发环境搭建 ( SDL 简介 |
这就是SDL所做的事情。它将Windows/Linux/Mac/Android/iOS等工具包装起来,让你可以用SDL编写代码,然后编译到它所支持的任何平台。为了使用它,你需要安装它。...SDL需要这种类型的main,所以它能兼容多种平台。 然后我们声明我们的SDL窗口,我们将在稍后创建这个窗口。继而我们有一个屏幕SDL表面。SDL表面只是一个2D图像。...在声明我们的窗口和屏幕表面后,我们初始化SDL。在没有初始化SDL之前,你不能调用任何SDL函数。由于我们关心的只是使用SDL的视频子系统,所以我们只将SDL_INIT_VIDEO标志传递给它。...由于SDL_GetError是唯一的参数,所以它返回的字符串将被加上。SDL_GetError 返回一个 SDL 函数产生的最新错误。 SDL_GetError是一个非常有用的函数。...SDL_GetError 会让你知道任何 SDL 函数内部是否发生了错误。 如果SDL初始化成功,我们要使用SDL_CreateWindow创建一个窗口。
SDL简介 SDL(Security Development Lifecycle,安全开发生命周期)是由微软提出的一种从安全角度指导软件开发的管理模式,它主要通过在传统的软件开发生命周期的各个阶段穿插一系列的安全活动来保障和提升产品自身的安全能力...微软标准 微软在提出SDL的同时也给予了一套实践参考标准: 微软SDL参考标准可以进一步细化为以下三个核心: 培训阶段:对软件产品开发相关的人员(产品经理、项目经理、研发人员等)进行安全培训,培训内容应当贯穿整个...SDL生命周期的各个环节,尤其是对安全意识、安全制度、安全规范、安全评审等的培训讲解 过程阶段:定期评估SDL过程的完备性并对随着新技术的发展和新威胁的引入提出应对措施,使用过程内指标确认过程遵从性,使用发布后指标帮助指导...SDL进行进一步的改进 响应阶段:制定完备的安全响应方案向相关各方提供项目扼要令人信服的指导,同时对响应阶段的所有数据进行存档,通过事后复盘对响应阶段的不足之处进行不断的补充和完善改进 下面是对微软SDL...安全体系建设的第一篇文章主要介绍了软件危机以及引入SDL的目的和SDL的基本流程,后续我们会将SDL的各个环节进行逐一概述,当然也欢迎各位读者一起交流,不足之处还请不吝斧正~
访问控制缺失以及不安全的配置等众多的因素引起的,而导致这样的安全问题发生的根本原因是由于在软件开发生命周期中缺乏对业务安全问题的考虑以及缺少对项目流程的安全控制,因此需要一个安全设计的最佳实践来指导软件项目的安全落地,所以SDL...安全设计checklist应运而生 核心原则 微软的SDL提出了若干核心的安全设计原则: Basic Privacy:基本隐私 Secure Defaults:默认安全 Threat Modeling:...威胁建模 威胁建模是一种分析应用程序威胁的过程和方法,这里的威胁是指恶意用户可能会试图利用各种手段来破坏系统,而我们常说的漏洞则是一个特定的可以被利用的威胁,例如:缓冲区溢出、SQL注入等 威胁建模作为SDL...2005/2008 xp__cmdshell 存储过程默认关闭,默认不开放远程链接 VS 2005/2008 Web Server和SQL Server默认仅本地访问 安全实践 下面是美的金融科技SDL...安全设计发布的"金融科技SDL安全设计Checklist v1.0",内容涵盖了输入验证、输出编码、身份认证、异常处理、会话管理、访问控制、接口调用、权限控制、敏感信息、运行环境、WEB安全防护:
事件处理引入 SDL , Simple DirectMedia Layer , 是 跨平台的多媒体开发库 , 用于开发 跨平台 的 多媒体应用程序 , 可开发 WIndows / Linux / MacOS...环境 , 设置要开发的子系统 ; // 初始化 SDL 环境 SDL_Init(SDL_INIT_VIDEO); 然后 , 调用 SDL_CreateWindow 函数创建窗口 ; // 创建 SDL_Window...窗口 SDL_Window* window = SDL_CreateWindow( "SDL Event Handling", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED...初始化SDL SDL_Init(SDL_INIT_VIDEO); // 2....初始化SDL SDL_Init(SDL_INIT_VIDEO); // 2.
SDL SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。...SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。...SDL在结构上是将不同操作系统的库再封装成相同的函数,例如SDL在Windows平台上是DirectX的封装,而在使用X11的平台上(包括Linux),SDL则是与Xlib库沟通来输出图像。...SDL_mixer 用于支持额外的音频格式,包括 MP3、OGG、WAV 等。 SDL_ttf 用于 TrueType 字体的渲染。 SDL_rtf 用于简单的 RTF 渲染支持。...SDL_net 用于网络相关的支持。 目前,SDL的最新版本是SDL2,它与SDL1在使用有一些不同,它支持了硬件加速等新的能力,因此我们应学习SDL2的使用。
SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 SDL系列讲解(六) SDL_Activity流程 SDL系列讲解(七) SDL_image教程 前言 讲解完了图片,这节我们来看下怎么显示文字...下载配置SDL_ttf库 打开官网 https://www.libsdl.org/projects/SDL_ttf/,下载库。.../SDL2_ttf 同时在LOCAL_SHARED_LIBRARIES := SDL2 SDL2_image后面加上 SDL2_ttf 测试字库 从网上下载一个中文字库,放置在asserts目录下,...更多详细用法 关注http://sdl.beuc.net/sdl.wiki/SDL_ttf
SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 前言 总是会出其不意,讲解随性一些不好吗? 只讲如何使用,明显不是我的风格,于是乎,近期会开展SDL的框架原理的系列分析。...SDL自己帮我们写了它在Android的适配工作。...这里SDL便实现了一个Activity,来完成Android的主界面的SDL实现。同时因为我们SDL本身使用的是c语言开发的,所以就需要写JNI进行搭桥,来实现JAVA和C直接的调用,数据传递。...找到对应的实现,然后会调用这些c方法,这些方法便是SDL适配的android版本。然后我们在c代码中,进行相应SDL提供的事件监测,回调方法,来进行处理事件,如此便完成了SDL的整个调用过程。
SDL 源码下载地址:http://www.libsdl.org/ 或者 hg clone http://hg.libsdl.org/SDL (hg官网下载工具) vscode安装cmake插件编译...主要函数和结构 结构 SDL_Surface内存数据 SDL_Renderer相当于gdi的dc SDL_Texture材质画板 函数 SDL_CreateWindowFrom窗口句柄转SDL_Window...SDL_SetRenderDrawColor设置颜色,SDL_RenderFillRect填充 SDL_CreateWindowFramebuffer帧数据缓冲区,屏幕数据缓存 参考 https://
移步: http://blog.csdn.net/a332324956/article/category/1886055 下来,继续我们 的SDL系列讲解 SDL系列讲解(一) 简介 SDL系列讲解(...二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 SDL系列讲解(六) SDL_Activity流程 SDL系列讲解(七) SDL_image教程 SDL系列讲解(八) SDL_ttf...教程 SDL系列讲解(九) 异常退出分析 SDL系列讲解(十) 按键处理流程 SDL_QUIT时序图 看下创建窗口的流程图,我们简单说下过程。...发送消息,最后走入的是SDL_PushEvent方法,这个是SDL向消息队列扔入一个事件的方法。
SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 SDL系列讲解(六) SDL_Activity流程 前言 我们SDL默认支持的,只能打开BMP格式的图片。...修改成 LOCAL_SHARED_LIBRARIES := SDL2 SDL2_image 将SDL2_image库加载进来。...我们来到这个文件,修改这个包含为: #include 改为: #include <arm-linux-androideabi/ machine/cpu-features.h...因为这里查找头文件是在ndk下面的ndk-bundle\sysroot\usr\include目录进行查找,所以我们新的ndk包,发现移动到arm-linux-androideabi目录下了,所以要加这个
博客源码下载 : SDL 多线程模型 代码执行效果如下 : 一、SDL 多线程简介 1、SDL 多线程引入 SDL 支持 多线程 编程 , 开发者 可以 创建多个线程 , 来执行不同的任务 , 如开启多个线程同时处理..., 编写完的 SDL 多线程代码可以在多个平台运行 ; 在 Windows 系统中 , 会生成 Windows 的多线程 模块 ; 在 Linux 系统中 , 会生成对应 Linux 的多线程 模块 ;...和 线程其它信息 ; SDL_Thread 结构体定义在 SDL_thread.h 头文件中 ; /* SDL 线程 结构体 , 定义在 SDL_thread.c 中 */ struct SDL_Thread...; typedef struct SDL_Thread SDL_Thread; SDL_Thread 提供了对线程的 基本管理和控制 功能 , 该结构体对象 是 通过 SDL_CreateThread...函数 阻塞等待指定线程结束 ; 二、SDL 多线程相关函数 1、SDL 创建线程 - SDL_CreateThread 函数 SDL_CreateThread 函数 的 作用是 创建 SDL 线程 ,
在本教程中,我们将介绍如何安装SDL_image。 SDL本身是一个扩展库,因为它增加了游戏和媒体功能,而这些功能并不是你的C++编译器的标准配置。...当你设置扩展库的时候,你会发现它和单独安装SDL几乎是一样的。我们将特别安装SDL_image,但如果你能安装该扩展库,你应该能够安装任何一个扩展库。...您需要做的第一件事是下载SDL_image头文件和二进制文件。您可以在SDL_image网站[1]上找到它们 ? 在设置好SDL_image之后,我们将介绍如何使用SDL创建加载PNG。...//使用SDL、SDL_image、标准IO和字符串。...对于SDL_ttf,或者SDL_mixer,我们也要做同样的事情。
01 — 关于SDL 100问 自从《SDL最初实践》在公众号上发布以来,已经四年多。从那时起,也创建了微信群“SDL专属交流群”,专题交流软件安全相关内容,现如今成员也有242人。...1.1.命名构想 选择SDL、SDLC、S-SDLC中的哪一个加入标题?...思考了许久,因为本身思维比较严谨、尊重原创以及为了简单好记,所以选择了微软提出的SDL(Security Development Lifecycle,安全开发生命周期),弃用S-SDLC(Secure...不过中间踩了好多坑,不仅令人想到磨刀不误砍柴工,生命的精彩在于折腾等经典名句,并以此来激励自己坚持把分享《SDL 100问》这件事做下去。
,让开发者只要用相同或者是相似的代码就可以开发出跨多个平台,比如说Linux、Windows、Mac Os 等操作系统平台;它的应用领域主要包括:游戏开发,模拟器、媒体播放器等多媒体应用领域。...在做演示之前,非常有必要简单介绍一下相关接口和说明: SDL子系统(SDL将功能分成下列数个子系统): SDL_INIT_TIMER:定时器 SDL_INIT_AUDIO:音频 SDL_INIT_VIDEO...:包含上述所有选项 SDL Window显示:SDL视频显示函数简介: SDL_Init():初始化SDL系统 SDL_CreateWindow():创建窗口SDL_Window SDL_CreateRenderer...():创建渲染器SDL_Renderer SDL_CreateTexture():创建纹理SDL_Texture SDL_UpdateTexture():设置纹理的数据 SDL_RenderCopy()...:将纹理的数据拷贝给渲染器 SDL_RenderPresent():显示 SDL_Delay():工具函数,用于延时 SDL_Quit():退出SDL系统 SDL Windows显示:SDL数据结构简介
借用鸟哥PPT的宝图 今天PYQ看到一篇文章《SDL已死,应用安全路在何方?》,也就想着来扯谈一下SDL。不做科普,不捧不踩,纯粹扯谈。...很“重”的SDL 实际上,SDL已经挺重的了,这是我个人的感觉。这个重有几个方面: 1、流程重。...要打通这些工具,把工具一个个安排得明明白白,还要确保这些工具能完全支撑覆盖SDL全流程、全要求,很重。 4、责任重。 貌似有了SDL,开发上的安全问题就公认的变成了SDL团队的责任了。...然而,令人尴尬的事实是,SDL团队很多时候只是一个背锅侠,且没有太多容错的余地。爆发的安全问题千奇百怪,SDL也人力有穷尽。...比如,重新审视SDL,将SDL的安全管控集中在安全测试和上线阶段。
领取专属 10元无门槛券
手把手带您无忧上云