extern (C) function call with const char * type will sometimes generate seg fault or core dump.
dysmondad via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Oct 15 20:18:49 PDT 2014
Since I've added this call, my program will sometimes but not
always either generate a core dump or a seg fault. It seems that
the issue is with the const char * parameter.
I don't have a good grasp of the difference between the way D and
C work for char * types. The call to loadTexture uses a literal
for the file name, i.e. "resources/ball.png".
// d lang bindings for C function
alias void SDL_Renderer;
alias void SDL_Texture;
extern (C) SDL_Texture * IMG_LoadTexture(SDL_Renderer * renderer,
const char * file);
// d lang call to extern (C) function
SDL_Texture* loadTexture( SDL_Renderer * ren, const char * file )
{
SDL_Texture * loadedImage = IMG_LoadTexture( ren, file );
return loadedImage;
}
More information about the Digitalmars-d-learn
mailing list