2012-12-01 2 views
1

나는 다음과 같은 것을 가지고있다. file. C++ 프로그램을 작성하여 다른 프로그램에 복사하고 붙여 넣습니다 (추가 자료 포함). 그러나, 나는 그것을 제거하고 싶다. 즉, 실행 파일과이 파일을 배포하고 싶지 않습니다. 그 내용을 하드 코딩하려고했지만 특수 문자 (예 : ", \n 등)가 있기 때문에 지루하고 지루한 문자열 변수가 모든 데이터를 보유하는 데 필요한 메모리가 없을 수도 있습니다.불필요한 입력 파일 제거하기

그 밖의 무엇을 할 수 있습니까?

+0

특정 플랫폼이 있습니까? – Joe

+0

정적 테이블로 처리 할 수 ​​있습니다. Qt는 설정 객체에 대해 이런 종류의 것을 가지고 있으며 꽤 잘 작동합니다. –

+0

왜 전체 파일을 하나의 문자열 변수에 저장해야합니까? – Beta

답변

1

제가 제안하려고했던 첫 번째 일은 파일의 내용을 인코딩하는 것입니다. 물론 자동으로. 나는 그것의 타이핑의 악몽을 상상할 수 있었다. 그것은 말하자면, 거기에 다양한 도구들이있다. 예 : bin2h. 또는 예를 들어 Qt Resources 프레임 워크가 실제로 좋지만 이미 Qt를 사용하지 않는 한 종속성을 끌어낼만한 가치가 없습니다.

그러나 대처하려는 내용이 메모리에 맞지 않는 경우 다른 방법은 없지만 프로그램과 함께 파일을 외부에 배포하는 방법을 고수하십시오. 사실, 이것은 일을하는 꽤 일반적인 방법입니다. 예를 들어, OS X (및 iOS)에 대한 중량이 많은 (뿐만 아니라) 애플리케이션은 대부분 리소스 파일과 실행 파일이 포함 된 zip 압축 파일 일뿐 아니라 "번들"로 배포됩니다. 그러한 배포 관행을 장려하는 플랫폼 중 하나를 타겟팅하는 경우에도 솔루션이 될 수 있습니다.

희망 하시겠습니까?

+0

bin2h를 성공적으로 사용했습니다. 고맙게도, 내 파일은이 방법으로 메모리에 맞게 충분히 작습니다. 또한 번들로 파일을 배포하는 것이 관례 인지도 몰랐습니다. 나는 이것이 어떻게 구현되는지 알고 싶어하는데, 그것은 다른 질문을위한 주제이다. 고맙습니다! – Raptor

관련 문제