CImg:加载 .cimg 文件时堆栈溢出
CImg: stack overflow when loading .cimg file
我在这里遇到了崩溃。我过去能够很好地加载 .cimg 文件。这些文件使用 CImg.save() 函数保存。路径看起来像:
"C:\NionProjects\TestEnvironment\Data\NionCCD\NionCCD1010Plugin\Dark_ExpTimeus=121536_Bin=1_DualReadout=1.cimg"
(无空格)
我这里遇到堆栈溢出:
NionCCD1010_x64.dll!cimg_library::CImgList<float>::_load_cimg(_iobuf * const file, const char * const filename) Line 45175 C++
使用简单的独立 DLL 加载此图像工作正常 - 因此图像数据本身似乎没问题。
CImg.h 包含在本系统的多个 DLL 中。这可能是混淆的根源吗?调用堆栈对我来说没问题:
NionCCD1010_x64.dll!__chkstk() Unknown
NionCCD1010_x64.dll!cimg_library::CImgList<float>::_load_cimg(_iobuf * const file, const char * const filename) Line 45175 C++
NionCCD1010_x64.dll!cimg_library::CImg<float>::load_cimg(const char * const filename, const char axis, const float align) Line 38130 C++
NionCCD1010_x64.dll!cimg_library::CImg<float>::load(const char * const filename) Line 36485 C++
还有什么我遗漏的其他注意事项吗?
这是一个转移注意力的问题,可能是托管代码造成的。我不够小心,编译为本机的东西和其他管理的东西之间存在一些混淆。当我删除我试图强制事物成为本机的尝试时(#pragma managed(push,off)),然后在离开时崩溃。
我在这里遇到了崩溃。我过去能够很好地加载 .cimg 文件。这些文件使用 CImg.save() 函数保存。路径看起来像:
"C:\NionProjects\TestEnvironment\Data\NionCCD\NionCCD1010Plugin\Dark_ExpTimeus=121536_Bin=1_DualReadout=1.cimg"
(无空格)
我这里遇到堆栈溢出:
NionCCD1010_x64.dll!cimg_library::CImgList<float>::_load_cimg(_iobuf * const file, const char * const filename) Line 45175 C++
使用简单的独立 DLL 加载此图像工作正常 - 因此图像数据本身似乎没问题。
CImg.h 包含在本系统的多个 DLL 中。这可能是混淆的根源吗?调用堆栈对我来说没问题:
NionCCD1010_x64.dll!__chkstk() Unknown
NionCCD1010_x64.dll!cimg_library::CImgList<float>::_load_cimg(_iobuf * const file, const char * const filename) Line 45175 C++
NionCCD1010_x64.dll!cimg_library::CImg<float>::load_cimg(const char * const filename, const char axis, const float align) Line 38130 C++
NionCCD1010_x64.dll!cimg_library::CImg<float>::load(const char * const filename) Line 36485 C++
还有什么我遗漏的其他注意事项吗?
这是一个转移注意力的问题,可能是托管代码造成的。我不够小心,编译为本机的东西和其他管理的东西之间存在一些混淆。当我删除我试图强制事物成为本机的尝试时(#pragma managed(push,off)),然后在离开时崩溃。