저는 Ada에 모듈을 가지고 있고, 매개 변수 (스칼라 값)와 구조를 전달하는 C++의 많은 모듈을 가진 응용 프로그램에서 사용할 통신 미들웨어를 설계하고 있습니다. 응용 프로그램은 MS Windows XP 및 Windows 7에서 실행되고 C++ 부분은 MSVC++ 2008에서 개발되고 Ada 부분은 GPS/GNAT를 사용하여 개발됩니다. Ada 버전은 1995 년이지만 새로운 Ada 스펙을 사용할 가능성이있는 컴파일러 마이그레이션 (GPS/GNAT의 최신 버전) 중반에 있습니다.Ada Variant 레코드가 C++ 유니온과 이진 호환이 가능합니까?
미들웨어는 C++로 작성되었으며 시스템에서 사용되는 각 유형에 대해 하나의 put/get 함수를 지정할 필요가 없도록 모듈간에 전달되는 모든 유형을 포함하는 공용체 유형을 사용하고자합니다. .
질문은 C++ 유니온이 Ada 변형 레코드와 이진 호환이 가능합니까? 즉, C++ 유니온을 Ada 코드에 전달하면 Variant 레코드로 읽을 수 있습니까? (반대의 경우도 마찬가지)
나는 이것이 가능하기 위해 일부 조정이 필요할 것이라고 생각 ...
플랫폼, 컴파일러 등을 지정해야 할 것입니다. –
감사합니다. 방금 추가했습니다. 우리의 환경에 관한 정보. – Guarita