플랫폼 독립성
DO는 API와 그 안에 있는 모듈에서 제공하는 기능을 사용합니다: 다이얼로그 관리자와 GSRoot (문자열, 메모리 관리 등) 모두 견고하고 양 플랫폼에서 모두 제대로 테스트했습니다.
- DG는 플랫폼 독립적인 다이얼로그 관리자입니다. 이것은 다양한 다이얼로그 및 다이얼로그 항목 타입들을 제공합니다. 또한 이것은 GRC라고 하는 플랫폼 독립적인 리소스 포맷을 포함하고 있습니다. 모든 ArchiCAD의 다이얼로그(파일 및 인쇄 다이얼로그는 제외)는 이걸로 생성됩니다.
- GSRoot는 양 플랫폼에서 작동하는 문자열, 메모리, 날짜 및 시간, 타이머 관리, 일반 컨테이너 classes, 그리고 일반 디버깅 서비스들을 제공합니다. 또한 당신은 바이트 스와핑 함수들을 사용하여 Mac과 Windows 간 데이터 변환도 할 수 있습니다.
DO는 표준 C 및 C++ 호출을 사용합니다. 비록 일부 표준 컨테이너들은 GSRoot 모듈에서 제공하지만 당신이 원한다면 STL도 사용할 수 있습니다.
DO는 파일/폴더 정보에 접근/저장하기 위해 Location class를 사용합니다. 필요할 때 이것은 플랫폼 특화된 structures에 매핑될 수 있습니다.
바이트 스와핑을 위한 장소를 남겨 두십시오. (Mac와 Win 머신은 서로 다른 바이트 순서로 기본 타입들을 저장함) 만약 크로스-플랫폼 읽기/쓰기를 할 계획이 있다면 당신 스스로 스와핑 루틴을 작성해야 합니다.
structure의 내부 정렬을 고려하십시오. 서로 다른 컴파일러들이 structure의 내부를 다르게 정렬할 수도 있습니다. File/Preferences에 들어갈 수도 있는 것들은 항상 내부적으로 8바이트로 정렬하십시오; 예제는 API에 있는 structure들을 보십시오.
애플리케이션 프레임워크를 조심해서 사용하십시오; 이것들은 API로 테스트하지 않았습니다.