2
VC에서 메모리 정렬이 1로 설정된 DLL 파일과 EXE 파일 메모리 정렬이 기본값 (4)으로 설정되어 있습니다. 그리고 EXE에서이 DLL 클래스를 사용합니다. 서로 다른 메모리 정렬 세트로 인한 잠재적 인 위험이 있습니까? 많은 감사!EXE와 DLL의 메모리 정렬이 다른 경우 어떻게해야합니까?
VC에서 메모리 정렬이 1로 설정된 DLL 파일과 EXE 파일 메모리 정렬이 기본값 (4)으로 설정되어 있습니다. 그리고 EXE에서이 DLL 클래스를 사용합니다. 서로 다른 메모리 정렬 세트로 인한 잠재적 인 위험이 있습니까? 많은 감사!EXE와 DLL의 메모리 정렬이 다른 경우 어떻게해야합니까?
나는 "메모리 정렬"뜻 "구조 패킹"(/ Zp에)로 가정한다. 예. 두 개의 모듈이 다르게 패딩되므로 지정된 정렬을 얻기 위해 패딩이 필요한 구조가 있으면 문제가 발생할 수 있습니다.
예, 그렇습니다. Padding은이 DLL 클래스의 메서드에서 사용되며 EXE에서 호출됩니다. 어떤 정렬이 사용됩니까? 감사. – maverix3
각 모듈은 컴파일 된 패킹을 사용합니다. 클래스 또는 구조가 공유되고 양측이 서로 다른 패딩 결정을 내리면 나쁜 결과가 발생합니다. 이것의 어떤 부분이 분명하지 않은지 확실하지 않습니다. –
답변에 많은 감사드립니다. 도움이됩니다. :디 – maverix3