sdl2 和 dmalloc 不兼容

  1. sdl2 和 dmalloc 不兼容
  2. 编译
  3. 运行

sdl2 和 dmalloc 不兼容

下面是源代码 sdl.cpp:

//使用 SDL 和 标准 IO
#include <SDL2/SDL.h>
#include <stdio.h>

#include <dmalloc.h>

//定义屏幕尺寸常量
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;

int main(int argc, char* args[] )
{
    void *p = malloc(128);

    //初始化SDL
    if( SDL_Init( SDL_INIT_VIDEO ) < 0 ){
        printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
        return -1;
    }

    SDL_Window* window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
    if( window == NULL ){
        printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() );
        return -1;
    }

    //获取 window surface
    SDL_Surface* screenSurface = SDL_GetWindowSurface( window );
    //用白色填充surface
    SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );
    //更新surface
    SDL_UpdateWindowSurface( window );

    SDL_Event event;
    while (SDL_PollEvent(&event)) {
        switch (event.type) {
            case SDL_QUIT:
            break;
        }
    }

    SDL_DestroyWindow( window );
    SDL_Quit();

    return 0;
} 

编译

gcc sdl.cpp  -lSDL2 -ldmalloc

运行

./a.out 
程序异常退出

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 ancjf@163.com

文章标题:sdl2 和 dmalloc 不兼容

本文作者:ancjf

发布时间:2020-03-29, 21:58:09

最后更新:2020-09-15, 08:23:36

原始链接:http://ancjf.com/2020/03/29/sdl2-%E5%92%8C-dmalloc-%E4%B8%8D%E5%85%BC%E5%AE%B9/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏