首页VisualFreeBasic编程文档列表
  • SDL3_API分类参考_平台(CategoryPlatform)

    平台子系统(CategoryPlatform)SDL提供了在编译期和运行期识别应用程序运行平台的方法,帮助开发者实现跨平台的差异化逻辑处理。函数SDL_GetPlatform:运行时获取当前平台名称(返回字符串指针,如"Windows"、"Linux"、"macOS"等,无需手动释放)数据类型(无)结构体(无)枚举(无)宏SDL_PLATFORM_3DS:编译期宏,标识任天堂3DS平台SDL_PL…
  • SDL3_API分类参考_异步IO(CategoryAsyncIO)

    异步IO子系统(CategoryAsyncIO)SDL提供了异步执行I/O操作的方式,允许应用程序在读写文件时无需等待数据实际传输完成——发起I/O请求的函数在请求处理期间永远不会阻塞。数据会在后台传输,应用程序可在合适的时机检查操作结果。这种方式比同步读写文件更复杂,但能提升效率,避免因硬盘读写延迟导致帧率下降等问题。异步IO通用使用流程创建一个或多个SDL_AsyncIOQueue(异步IO队…
  • SDL3_API分类参考_输入输出流(CategoryIOStream)

    输入输出流子系统(CategoryIOStream)SDL提供了一套用于读写数据流的抽象接口,支持文件、内存等多种数据源的实现,同时应用程序也可以自定义实现该接口。注意:SDL_IOStream与C++标准库中的iostream类无关联,仅二者都是用于读写数据的抽象接口这一点相似。函数SDL_CloseIO:关闭IO流(释放相关资源,关闭底层数据源)SDL_FlushIO:刷新IO流(将缓冲区数据…
  • SDL3_API分类参考_存储(CategoryStorage)

    存储子系统(CategoryStorage)SDL的存储API是一套高层级接口,旨在屏蔽底层文件操作的跨平台兼容性问题(在SDL架构中,该模块基于Filesystem和IOStream子系统实现)。与传统文件系统API相比,它的使用限制更多,主要原因如下:访问对象限制:传统文件系统API通常假设所有存储是统一的整体,但许多平台(尤其是游戏主机)对存储类型的访问有严格区分。例如,游戏资源文件和用户数…
  • SDL3_API分类参考_文件系统(CategoryFilesystem)

    文件系统子系统(CategoryFilesystem)SDL提供一套用于检查和操作系统文件系统的API,涵盖了目录相关的大部分常用操作(实际的文件读写I/O功能由CategoryIOStream和CategoryAsyncIO模块提供)。该模块可回答各类路径相关的核心问题:应用程序的数据目录在哪里?SDL_GetBasePath()哪里可以安全地写入文件?SDL_GetPrefPath()系统预设…
  • SDL3_API分类参考_日期时间(CategoryTime)

    日期时间子系统(CategoryTime)SDL提供实时时钟和日期/时间相关的函数,用于处理日历时间(区别于Timer模块的短时长计时)。本模块核心使用两种数据类型:SDL_Time:表示从某个特定时间点("纪元/epoch")开始的纳秒数(时间戳);SDL_DateTime:将时间拆解为人类可读的组件(年、月、日、时、分、秒等)。模块的大部分功能围绕这两种类型的相互转换,以及获取时间相关的辅助信…
  • SDL3_API分类参考_定时器(CategoryTimer)

    定时器子系统(CategoryTimer)SDL提供时间管理相关功能,主要用于处理(通常是)短时长的时间操作。请注意,这与「日历时间(calendartime)」管理不同——日历时间功能由CategoryTime模块提供。本模块涵盖以下核心能力:测量已流逝的时间(SDL_GetTicks()、SDL_GetPerformanceCounter());让线程休眠指定时长(SDL_Delay()、SD…
  • SDL3_API分类参考_原子操作(CategoryAtomic)

    原子操作子系统(CategoryAtomic)原子操作相关功能。重要提示:如果你并非无锁并发编程领域的专家,请勿使用本模块中的任何函数。你应当使用完整的互斥锁来保护数据结构,而非直接使用原子操作。郑重提醒:此处暗藏风险!你可以通过以下资源了解无锁编程及其可能引发的微妙问题:https://learn.microsoft.com/en-us/windows/win32/dxtecharts/lock…
  • SDL3_API分类参考_互斥锁(CategoryMutex)

    互斥锁子系统(CategoryMutex)SDL提供了多种线程同步原语,用于保障多线程程序的线程安全。本文档无法全面覆盖线程安全这一复杂主题,但理解这些同步原语的用途、价值和正确用法,是编写正确且安全的多线程程序的关键。SDL提供的核心同步原语包括:互斥锁(Mutexes):SDL_CreateMutex()——独占式资源访问控制读写锁(Read/Writelocks):SDL_CreateRWL…
  • SDL3_API分类参考_线程(CategoryThread)

    线程子系统(CategoryThread)SDL提供了跨平台的线程管理功能,主要用于线程的创建、优先级设置和终止处理。此外,SDL还支持线程本地存储(ThreadLocalStorage,TLS)——即每个线程拥有唯一的专属数据,但可通过同一个键值访问这些数据。平台兼容性说明在不支持线程的平台上(例如未启用pthreads的Emscripten环境),这些函数依然存在,但SDL_CreateThr…