几天前,i ve在MSYS/Mingw处张贴了执行“快车”问题:。
确切的解决办法是,明确装货单。 这样一来,就重新开始尝试采用双赢办法,实施有关这种猎物的 st。 dll的装载工作是罚款:
// Load the RTLCapture context function:
HINSTANCE kernel32 = LoadLibrary("Kernel32.dll");
if(kernel32 != NULL){
std::cout << "Try to load method from kernel32.dll: CaptureStackBackTrace" << std::endl;
typedef USHORT (*CaptureStackBackTraceType)(ULONG FramesToSkip, ULONG FramesToCapture, void* BackTrace, ULONG* BackTraceHash);
CaptureStackBackTraceType func = (CaptureStackBackTraceType) GetProcAddress( kernel32, "RtlCaptureStackBackTrace" );
if(func==NULL){
std::cout << "Handle for CaptureStackBackTrace could t loded! Stop demo!."<< std::endl;
FreeLibrary(kernel32);
kernel32 = NULL;
func = NULL;
exit(1);
}
void *array[63];
int i,num = 0;
std::cout << "Try to call CaptureStackBackTrace..."<< std::endl;
num = CaptureStackBackTraceType( 1, 32, array, NULL );}
但是,如果说“CaptureStackBackTraceType”方法,在类型转换问题上操作,就会遇到麻烦:
stacktrace.cpp:138: error: functional cast expression list treated as compound e
xpression
stacktrace.cpp:138: error: invalid conversion from USHORT (*)(ULONG, ULONG, voi
d*, ULONG*) to
USHORT
我认为,这一问题可能是由于MSYS/MinGW与批量定义之间的差别。 明确划定美国水道测量局(USHORT)未签字的短程,没有效果。
Has anyone an idea how i could solve this issue? I would be deeply gratefull for any hint.
Best regards, Christian