현재 운영체제를 시뮬레이트하는 게임을 개발 중입니다. 그러므로 나는 ingame 파일 시스템이 필요하다. 현재 zipiplib을 사용하여 zip 아카이브에서 파일을로드 할 수 있지만 읽기 전용 "파일 시스템"이므로 새로운 파일을 작성하고 이후에 직렬화 (그리고 다음 실행 중에 직렬화 해제)해야합니다! 야생에 유용한 라이브러리가 있습니까? 아니면 어떤 라이브러리를 기반으로 작성해야합니까?Windows에서 C/C++을 사용하는 가상 파일 시스템
답변
아마도 이것은 파일 시스템으로 간단한 데이터베이스를 사용하는 것이 감각을 일으키는 곳 중 하나 일 것입니다.
sqlite
과 같은 것을 사용하여 경로를 키로, 모양을 데이터로 또는 그와 비슷한 것으로 저장하십시오.
이 작업을 수행하는 장점 중 하나는 실제로 저장소에 대해 염려 할 필요가 없으며 기존 데이터베이스 도구를 사용하여 직접 작성하지 않고 데이터를 "오프라인"으로 보거나 편집 할 수 있다는 것입니다. (거기에 다른 게임 정보도 저장할 수 있습니다.)
PicoStorage 및 Embedded File System in C++을 확인할 수 있습니다. 나는 둘 중 하나를 직접 사용하지는 않았지만 나는 그들 모두를 보았다. 임베디드 파일 시스템은 쇼 스토퍼가 될 수있는 의존성이 있습니다. Qt가 링크되어야합니다. 아마도 제거 될 수 있지만, 주로 QString과 QFile에 사용됩니다 (UI를 요구할 이유가 없습니다).
Qt는 종속성이 과잉이 될 것입니다 - 나는 sqlite를 사용할 것입니다! 하지만 정보 주셔서 감사합니다. –
둘 다 구형이며 버려진 것 같습니다. –
위의 답변 상단에 내 6 펜스. SolFS 및 CodebaseFS은 가상 파일 시스템 기능을 제공합니다. 둘 다 C/C++ 용 API를 가지고 있으며 사용자가 요구하는 것과 정확히 일치하는 것으로 보입니다. 아직도 ... 당신의 업무 규모가 분명하지 않습니다. 당신의 게임은 수십, 수백, zound, ... 파일을 관리해야합니까? 그 파일의 크기는 얼마입니까? 등 내가 적절한 해결책을 찾기 전에 이러한 질문을 제기합니다.
- 1. 가상 레지스트리/가상 파일 시스템 프로젝트 찾기
- 2. .NET에서 가상 파일 시스템 구현
- 3. 파일 시스템/가상 파일 시스템을 위조하기
- 4. Windows에서 java를 사용하는 파일 보안
- 5. 암호화 된 가상 파일 시스템 도구가 필요합니다.
- 6. ColdFusion 9 가상 파일 시스템 및 클러스터링
- 7. 가상 파일 시스템 트리 webservices 및 NFS
- 8. vSphere 5, ESXi, 가상 시스템 환경에 액세스 : 프로세스, 파일 시스템
- 9. node.js를 사용하는 파일 시스템 감시자
- 10. 사용자 공간에있는 가상 파일 시스템 또는 파일 시스템이란 무엇입니까?
- 11. 가상 리눅스 시스템
- 12. 가상 시스템 벤치 마크
- 13. 가상 드레싱 시스템
- 14. 사전 구성된 가상 시스템?
- 15. 다중 개발 가상 시스템?
- 16. 가상 스토리지 시스템 관계
- 17. Windows에서 Java로 시스템 파일이란 무엇입니까?
- 18. Windows에서 시스템 "로드"받기
- 19. Windows에서 시스템 호출
- 20. WinXP에서 .NET을 사용하는 파일 시스템 트랜잭션
- 21. 파일 시스템 - 메모리 매핑 파일
- 22. * nix의 가짜 파일 시스템
- 23. Windows에서 파일 숨기기
- 24. V8을 사용하는 Javascript의 파일 시스템 I/O
- 25. StlSoft - 파일 시스템 기능을 사용하는 방법?
- 26. 다중 디스플레이를 지원하는 가상 시스템
- 27. 메모리에 디렉토리를 만드는 방법은 무엇입니까? 의사 파일 시스템/가상 디렉터리
- 28. Windows에서 시스템 호출의 출력을 저장할 수 있습니까?
- 29. FindFirstChangeNotification은 Windows에서 파일 시스템 변경 알림에 사용할 수있는 최상의 API입니까?
- 30. Windows에서 NTFS 및 FAT 파일 시스템 크기 계산
물론입니다. SQLite는 같은 이유로 다른 게임에서 사용되었습니다. – 0xC0000022L
나는 정말로 매우 차갑고 쉽게 포함될 수있는 SQL을 사용할 수 있다는 것을 완전히 잊었다! 알림 주셔서 감사합니다! –