2013-03-19 7 views
0

Visual Studio 2008에서 C로 프로그램을 작성합니다. 이진 파일에서 초기화 된 배열을 갖고 싶습니다. 하지만 .exe 파일과 함께 바이너리 파일을 갖고 싶지 않습니다. 그래서 내 .exe 파일에 이진 파일을 포함시켜야합니다. Google에서 검색했습니다. 대부분의 답변은 VS에서 "Resources"를 사용하도록 조언합니다. 하지만 OOP를 모르며 복잡한 솔루션이 필요하지 않습니다. 같은 목적으로 IAR EW에서 "Project-> Options-> Linker-> Input-> Raw binary image"를 사용합니다. 그리고 그것은이 작업을 위해 아주 잘 어울립니다. VS에서 어떻게 수행할까요?임베디드 파일에서 배열 초기화

+0

무엇이 질문입니까? – GregC

+2

Windows에서 리소스를 사용하고 있습니다. BTW, 당신은 이것을 위해 OOP가 필요하지 않습니다 :) http://www.codeproject.com/Articles/4221/Adding-and-extracting-binary-resources –

+0

그리고 Linux는 어떻습니까? 내 프로그램을 크로스 플랫폼으로 만들 수 있습니까? – LVitya

답변

1

간단한 스크립트를 원하는 스크립트 언어로 작성하고 컴파일하기 전에 이진 파일을 쉼표로 구분 된 값 집합으로 처리하십시오 (온라인에서도 사용 가능한 무료 도구가있을 수 있습니다). 배열을 정적으로 초기화하려면이 값 집합을 소스 C 파일에 포함하십시오. 예 : 결과는 char data[] = {0x12, 0xAB, 0xC0, ... };과 같을 수 있습니다. 소스 코드에서 원하는대로이 데이터로 처리하십시오.

+0

나는이 해결책을 안다. 하지만 내 바이너리 파일은 ~ 0.5KB 크기입니다. 변환 할 필요없이 자유롭게 수정하고 싶습니다. 그리고 나는 그러한 "마술"초기화를 원하지 않는다. – LVitya

+0

이 프로세스를 컴파일 전에 실행되는 프로세서 전 단계로 자동화 할 수 있습니다. 바이너리를 변경하고 프로젝트를 다시 빌드하면 변경 사항이 소스 코드에 자동으로 투영됩니다. – SomeWittyUsername

+0

좋은 생각이지만, 제 의견으로는이 솔루션은 서툴 릅니다. – LVitya