3
我正在D中創建一個SDL-OpenGL應用程序。我正在使用廢棄SDL綁定來完成此操作。無法在SDL_GL_DeleteContext中析構函數
當我完成運行我的應用程序時,我想卸載SDL。要做到這一點,我運行以下功能:
public ~this() {
SDL_GL_DeleteContext(renderContext);
SDL_DestroyWindow(window);
}
出於某種原因,然而,這會給我一個模糊的分段錯誤(在GDB任何痕跡),並返回-11。我是否可以在析構函數中銷燬SDL,在使用後我甚至不得不銷燬SDL?
我的構造函數:
window = SDL_CreateWindow("TEST", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1280, 720, SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN_DESKTOP);
if(window == null) {
string error = to!string(SDL_GetError());
throw new Exception(error);
}
renderContext = SDL_GL_CreateContext(window);
if(renderContext == null) {
string error = to!string(SDL_GetError());
throw new Exception(error);
}
可以顯示ctor和一些代碼.- – this
@self我自己也添加了我的構造函數。 –
它改變了什麼,如果你讓他們'共享靜態this'和'共享靜態〜這個'?如果沒有共享,它們會針對每個線程完成,並且可能會導致問題。 –