草庐IT

SDL_CreateThread

全部标签

c++ - 如何在 cmake 中使用 SDL2 和 SDL_image

我正在寻找使用SDL2和SDL_image和cmake编译c++程序的最简单方法。经过数小时的搜索,这是我最好的尝试:CMakeLists.txtproject(shooter-cmake2)cmake_minimum_required(VERSION2.8)set(SOURCESshooter.cppclasses.cpputils.cpp)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++0x")add_executable(${PROJECT_NAME}${SOURCES})INCLUDE(FindPkgConfig)PKG_SEARCH

c++ - SDL2 纹理的意义何在?

我有点卡在SDL2纹理背后的逻辑上。对我来说,它们毫无意义,因为你无法吸引它们。在我的程序中,我有几个表面(或者在我切换到SDL2之前是是表面),我只是将它们拼凑在一起形成层。现在看来,我必须创建多个渲染器和纹理来创建相同的效果,因为SDL_RenderCopy需要一个纹理指针。不仅如此,所有渲染器都必须来自一个窗口,这我理解,但仍然让我更讨厌。这一切看起来都非常庞大和缓慢。我错过了什么吗?有没有办法直接绘制到纹理?纹理的意义何在?我可以安全地使用多个(如果不是数百个)渲染器来代替表面吗? 最佳答案 SDL_Texture对象存储在

c++ - 为什么 SDL 定义主宏?

在设置SDL遇到一些麻烦后,我发现SDL定义了一个宏来替换main:#definemainSDL_main//AndthenexternC_LINKAGEintSDL_main(intargc,char*argv[]);如果主函数没有定义argc和argv参数,这也会产生编译错误。这个宏一看到就头疼……为什么SDL需要重新定义main?经过一番搜索,我发现有些人#undefmain,并正常使用。那么问题来了:为什么SDL需要重新定义main,它的作用是什么?取消定义有什么副作用吗?我注意到的一件事是SDL将标准输出和错误重定向到文件(我不希望这种行为),如果我取消定义main,这种行为

c++ - 您如何将 CreateThread 用于作为类成员的函数?

如何使用CreateThread()来创建属于类成员的函数线程? 最佳答案 您需要创建一个静态方法用作实际的线程启动函数,并将指向实例的指针作为lpParameter参数传递给CreateThread。这将被传递给静态方法,该方法可以将其转换为对象指针并调用成员函数。classMyClass{staticDWORDWINAPIStaticThreadStart(void*Param){MyClass*This=(MyClass*)Param;returnThis->ThreadStart();}DWORDThreadStart(vo

c++ - 什么是 SDL 渲染器?

我从SDL2开始,在尝试理解什么是SDL_Renderer时遇到了一些麻烦。这是什么?它有什么作用?SDL_Renderer、SDL_Window、SDL_Surface和SDL_Texture有什么区别以及它们之间的关系?我在尝试理解此介绍性代码时遇到了问题:#include#includeintmain(){/*StartingSDL*/if(SDL_Init(SDL_INIT_EVERYTHING)!=0){std::cout我正在使用Twinklebear教程(建议在SDLWiki上)并查看了SDLWiki文档和一些书籍。但他们都假设我知道这些定义。

c++ - 未解析的外部符号 __imp__fprintf 和 __imp____iob_func,SDL2

谁能解释一下__imp__fprintf和__imp____iob_funcUnresolvedexternal手段?因为我在尝试编译时遇到这些错误:1>SDL2main.lib(SDL_windows_main.obj):errorLNK2019:unresolvedexternalsymbol__imp__fprintfreferencedinfunction_ShowError1>SDL2main.lib(SDL_windows_main.obj):errorLNK2019:unresolvedexternalsymbol__imp____iob_funcreferencedin

c++ - Windows 线程 : _beginthread vs _beginthreadex vs CreateThread C++

_beginthread、_beginthreadx或CreateThread有什么更好的启动线程的方法?我正在尝试确定_beginthread、_beginthreadex和CreateThread的优点/缺点。所有这些函数都返回一个新创建线程的线程句柄,我已经知道CreateThread在发生错误时会提供一些额外的信息(可以通过调用GetLastError来检查)...但是什么是在使用这些功能时我应该考虑哪些事项?我正在使用Windows应用程序,因此跨平台兼容性已经不可能了。我浏览了msdn文档,但我无法理解,例如,为什么有人会决定使用_beginthread而不是CreateT

rubysdl 与 ruby​​-sdl-ffi

谁能告诉我Rubygemrubysdl和ruby-sdl-ffi之间的区别,比如速度差异?如果是这样,您更喜欢哪个?我想知道我正在写的gem,Rubydraw(位于here)。提前致谢! 最佳答案 我是ruby​​-sdl-ffi的作者。这个问题今天引起了我的注意,所以我回答是为了让仍然好奇的人受益。主要区别是ruby​​-sdl-ffi是纯Ruby代码,通过FFI(外部函数接口(interface))访问SDL(和相关库),而ruby​​sdl是用C编写的扩展,链接到SDL(和相关库).每种方法都有利有弊。(显然,我觉得FFI是更

c++ - 如何同时使用 Qt 和 SDL?

我正在Windows中构建物理模拟引擎和编辑器。我想使用Qt构建编辑器部分,我想使用SDL和OpenGL运行引擎。我的第一个想法是仅使用Qt构建编辑器,并与引擎(资源管理器、渲染器、数学)共享尽可能多的代码。但是,我也希望能够在编辑器中运行模拟。这意味着我还必须共享使用SDL线程的模拟代码。所以,我的问题是:有没有办法使用SDL将OpenGL渲染到Qt窗口?我在网上读到有可能为SDL提供一个窗口句柄来进行渲染。有没有人有过这样的经历?此外,模拟器的线程部分可能会出现问题,因为它使用SDL线程。 最佳答案 这是对我在项目中所做工作的简

c++ - 如何同时使用 Qt 和 SDL?

我正在Windows中构建物理模拟引擎和编辑器。我想使用Qt构建编辑器部分,我想使用SDL和OpenGL运行引擎。我的第一个想法是仅使用Qt构建编辑器,并与引擎(资源管理器、渲染器、数学)共享尽可能多的代码。但是,我也希望能够在编辑器中运行模拟。这意味着我还必须共享使用SDL线程的模拟代码。所以,我的问题是:有没有办法使用SDL将OpenGL渲染到Qt窗口?我在网上读到有可能为SDL提供一个窗口句柄来进行渲染。有没有人有过这样的经历?此外,模拟器的线程部分可能会出现问题,因为它使用SDL线程。 最佳答案 这是对我在项目中所做工作的简