使用SDL违反访问
Access Violation using SDL
我有一个小脚本,旨在获取用户的屏幕分辨率并将其分配给变量,但我会收到Access Violation
错误,不确定如何修复它(我很新对此语言),希望有人可以向我展示如何写它。
这是我的设置:
//get player's screen info
const SDL_VideoInfo* myScreen = SDL_GetVideoInfo();
//SDL screen
SDL_Surface *screen;
int reso_x = myScreen->current_w; //resolution width (ERROR here)
int reso_y = myScreen->current_h; //resolution height
Uint8 video_bpp = 32;
Uint32 videoflags = SDL_SWSURFACE | SDL_DOUBLEBUF | SDL_ANYFORMAT;// | SDL_FULLSCREEN;
/* Initialize the SDL library */
if ( SDL_Init(videoflags) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %sn",
SDL_GetError());
exit(1);
}
//setup Screen
screen = SDL_SetVideoMode(reso_x, reso_y, video_bpp, videoflags|SDL_FULLSCREEN);
有人知道我错误的原因吗?
您不应该在sdl_init之前拨打任何SDL调用。我的猜测是GetVideoInfo正在返回NULL,因为您当时不处于有效状态。另外,您传递给初始化的标志是错误的,应该是SDL_INIT_VIDEO,而不是您想要的视频。您的视频标志应该转到setVideomode函数。
相关文章:
- 通过方法访问结构
- 使用不带参数的函数访问结构元素
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- 用于访问容器<T>数据成员的正确 API
- 访问者访问变体并返回不同类型时出错
- 尝试通过多个向量访问变量时,向量下标超出范围
- 无法访问嵌套类.类的使用无效
- 写入位置0x0000000C时发生访问冲突
- 我们可以访问一个不存在的联盟的成员吗
- C++从另一个类访问公共静态向量的正确方法是什么
- 我的简单if-else语句是如何无法访问的代码
- (SDL 渲染问题)C++ 引发异常:读取访问冲突.这是无效的
- SDL OpenGL:创建缓冲区时访问违规
- 使用SDL违反访问
- visual c++和SDL-访问冲突错误
- opengl / glsl / sdl代码中的c++访问冲突
- 为什么SDL不加载我的图像时,主应用程序通过快捷方式访问
- C++ "File" .exe 中 SDL 0x6C7DB2AA (SDL2.dll) 处未处理的异常: 0xC0000005:访问冲突读取位置0x00000044
- 视觉C++ 将SDL_ttf与 SDL 和 SDL2 一起使用时出现访问冲突