Windows 레지스트리에 현재 모든 설정 (일부 종류의 주소 포함)을 저장하고있는 상당히 큰 C++ 응용 프로그램 (Windows에서는 플랫폼이 계획되지 않음)이 있습니다.설정을 저장하는 모범 사례
때로는 사용자가 레지스트리의 항목을 변경하는 데 어려움이 있기 때문에이 방법이 불편합니다. 내가 설정을 버전 화하고 싶습니다. 그래서 설정은 항상 현재 코드와 일치합니다. 현재 우리는 버전 reg 파일을 가지고 있지만 모든 reg 파일이 대상 컴퓨터에 추가 되었다면 확실하지는 않습니다. C#에서는 app.config에서 기본값을 정의 할 수 있지만 기존 설정을 덮어 쓰지는 않습니다. 그러한 메커니즘이나 라이브러리가 C++ 용으로 존재한다면 나는 모른다.
나는 다음과 같은 "기능"을 가지고 싶다 :
-
는
- 에만 새 설정 업데이트에 대한 사항을 확인 기존 설정을 기본값으로 덮어 씁니다.
- 사용자에 대한 간단한 설정 변경
- Win XP 및 Win 7에서의 동일한 워크 플로
지금까지 내가 Windows에서 설정을 저장하는 3 가능성이있다, 그것을보고 같이
- 레지스트리
- INI 파일
- XML 파일의
하나의 응용 프로그램이 우리의 suite는 현재 Qt를 사용하지만 Boost를 사용할 수 있습니다.
주소는 일종의 XML 주소록에 넣을 것이지만 다른 설정에 대해서는 잘 모름, 최선의 방법은 무엇입니까?
물어 변환 나는 다른 대안을 제안 : YAML/JSON을 인간에 대한 읽기 쉬운 형식, SQLite for simple 임베디드. ini 파일에 관해서는 [Boost로 ini 파일을 파싱하는 법] (http://stackoverflow.com/questions/6175502/how-to-parse-ini-file-with-boost)에 관심이있을 것입니다. Boost/ini 파일에 대해 –
+1, SS를 KI 할 수 있다면. – DevSolar
흠도의 여러 레이어가 필요한 경우 XML/JSON 파일을 사용합니다. 그렇지 않으면 INI가 가장 간단한 해결책 일 수 있습니다. – Morwenn