간단한 질문에 memmove() 및 memcpy(), 내가 그것을 사용하고 memmove() 및 memcpy() 문제가 있습니다. 나는 정말로 내 코드에 무슨 문제가 있는지 이해하지 못한다. 그런데 QT를 사용합니다.QT (C++)
HANDLE hFile;
HANDLE hMapFile;
HANDLE hMapView;
hFile = CreateFileW((const wchar_t*) objPath.constData(), GENERIC_READ , 0, NULL, OPEN_EXISTING, 0, NULL);
if (hFile != INVALID_HANDLE_VALUE){
hMapFile = CreateFileMappingW(hFile, NULL, PAGE_READONLY, 0, 0, NULL);
if (hMapFile != INVALID_HANDLE_VALUE){
hMapView = MapViewOfFile(hMapFile, GENERIC_READ, 0, 0,0);
if (hMapView != INVALID_HANDLE_VALUE){
uint DefineWord;
memmove((void *) &DefineWord, hMapView,2); // <- always error right here
qDebug()<<DefineWord;
}
}
}
당신이에 대한 자세한 명시한다면 그것은 도움이 될 것입니다 무엇을 너는 묻고있어. 소스 코드에 "항상 오류가 있습니다."라고 말한 주석이 있습니다. 오류가 무엇인지 정확히 알려주고 (오류 메시지가 있습니까?) 소스 코드가 아닌 질문에 해당 정보를 제공하십시오. 감사. –
특히, 코드를 컴파일 할 때 또는 실행할 때 오류가 발생합니까? –
디버깅 할 때 "세그먼트 오류"SIGSEGV 메시지가 있습니다. – user1276647