Def*_*ult 4 windows gdi+ access-violation visual-studio-2008
我可能会说一个非常简单的程序..
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR cmdLine, int nShow){
// Gdiplus variables
GdiplusStartupInput mGdiplusStartupInput;
ULONG_PTR mGdiplusToken;
GdiplusStartup(&mGdiplusToken, &mGdiplusStartupInput, NULL);
Bitmap bitmap(L"left.bmp");
GdiplusShutdown(mGdiplusToken);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
运行此示例时,我在此函数中的GdiplusBitmap.h中获得了访问冲突
inline
Image::~Image()
{
DllExports::GdipDisposeImage(nativeImage);
}
Run Code Online (Sandbox Code Playgroud)
通过删除对Bitmap bitmap(L"left.bmp");一切的调用工作正常..我试图在msdn上找到一个简单的例子(例如在Bitmap构造函数附近的某处,但没有找到任何东西.)
我错过了什么?
在Bitmap关闭GDI +的调用之后,您创建的实例超出了范围.因此当Bitmap被破坏时,它无法调用给定的GdipDisposeImage方法.
如果确保bitmap在关闭GDI +之前删除该错误,则该错误应该消失.
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |