2009-12-20 4 views
0

안녕하세요, NSKeyedArchiver 클래스를 C++/CLI에로드해야합니다. NSKeyedArchiver의 내부 형식을 가져 오는 방법이 있습니까?
또 다른 옵션은 전체 저장 및 열기 코드를 Mac 및 Windows 용 순수 C++로 다시 작성하는 것입니다.NSKeyedArchiver 내부 형식

고마워요.

답변

1

그래서 당신의 제약 것 같다 : 쉽게

  1. 뭔가 Windows와 Mac에서 모두 분석 할 수 있습니다.
  2. 3D 모델링 데이터 형식은 당신이 신속하고 더러운 뭔가, 이진 PLIST과 함께 할 것입니다 (그리고 아마도 그것을 gzip을)하려면

효율적으로 할 필요가 있도록. Google's protocol buffers도 시도 할 수 있지만 그 경험은 없습니다. 거기에 재단의 두 오픈 소스 구현 - Cocotron 당신을 위해 가장 유용 할 수도 있습니다.

+0

ofstream/ifstream 표준을 사용하여 순수 C++로 빠르고 더러운 사용자 지정 형식을 작성합니다. STL에서. 형식의 구현이 Apple과 동일하다면 Cocotron이 흥미 롭습니다. 하지만 Cocotron 내부 작업을 읽는 것이 두 플랫폼 모두에 대한 간단한 ofstream/ifstream C++ 구현보다 더 많은 시간이 걸릴 것으로 생각합니다. 아이디어에 감사드립니다. –

+0

NSKeyedArchiver가 nib 파일에서 사용된다고 생각하면 약 75 %가 똑같을 것이라고 확신합니다. –

0

Objective-C와 관련된 항목을 직렬화하지 않으면 XML 속성 목록 만 사용하십시오.

+0

문제는 3D 응용 프로그램에서 모델링 데이터를 직렬화하는 것이므로 XML로 매우 커질 것입니다. 그래서 가장 좋은 바이너리 형식이 될 것입니다. 순수한 C++에서 직렬화를 작성할 수 있지만 NSKeyedArchiver를 사용하여 코드를 작성했습니다. 내부 형식이 어렵지 않으면 C# 또는 C++/CLI와 비슷한 클래스를 작성할 수 있습니다. 빠른 답변 감사드립니다. –

+0

그렇다면 귀하의 데이터에 Apple 포맷을 사용할 이유가 없습니다. –

+0

@ Azeem.Butt 나는 그가 가지고있는 것과 같은 것을 가지고있다. 그리고 이유가있다. 첫째, 나의 애플 리케이션은 맥 뿐이다. 그래서 애플의 포맷을 3 년 후에 윈도우에 전달하고 싶다. Apple 형식을 삭제하려면 뒤로 Mac 호환성 문제가 될 것입니다 ... 그래서 Cocotron을 사용해보아야합니다. -/ – ColdSteel