부스트를 사용하여 파일을 행당 3 개의 부동 소수점 (x, y, z 좌표의 점)이있는 메모리로 매핑하려고합니다. cl_float3 형식 (openCL 용)에 데이터를 저장하려고하는데 작동하지 않는 것 같습니다. 이것은 내 코드입니다 :메모리 매핑 부스트를 사용한 2D 배열
cl_float3 *data;
boost::iostreams::mapped_file_source file;
size = 785444; // size of the file
int numBytes = size*sizeof(cl_float)*3;
file.open(filename,numBytes);
if(file.is_open()) {
data = (cl_float3*)file.data();
file.close();
}
데이터 배열을 사용하려고하면 읽기 위반에 대한 액세스 위반 오류가 발생합니다. 어떤 도움이 필요합니까?
정말 "행당 3 개의 플로트"입니까, 아니면 "행당 대략적인 부동 소수점 값을 나타내는 3 ASCII 인코딩 된 문자열"입니까 - 즉 부동 소수점의 2 진 4 바이트 표현 또는 "3.141593"과 같이 사람이 읽을 수있는 텍스트 표현입니까? – twalberg
예 원시 이진 파일을 입력으로 시도했는데 성공했습니다. – shunyo