저는 VC++ Express Edition으로 컴파일 할 DLL에 임베드하고 싶은 일부 이진 파일을 가지고 있습니다.VC++ Express에서 바이너리 데이터를 포함하고 액세스하는 가장 깨끗한 방법은 무엇입니까?
데이터를 코드와 함께 컴파일하는 배열로 변환하는 것과 같은 몇 가지 방법이 있지만 만족스럽지 않고 쉽고 간단한 솔루션이 누락 된 것처럼 느껴집니다.
가장 손쉬운 방법은 무엇입니까?
저는 VC++ Express Edition으로 컴파일 할 DLL에 임베드하고 싶은 일부 이진 파일을 가지고 있습니다.VC++ Express에서 바이너리 데이터를 포함하고 액세스하는 가장 깨끗한 방법은 무엇입니까?
데이터를 코드와 함께 컴파일하는 배열로 변환하는 것과 같은 몇 가지 방법이 있지만 만족스럽지 않고 쉽고 간단한 솔루션이 누락 된 것처럼 느껴집니다.
가장 손쉬운 방법은 무엇입니까?
난이 옵션 인 경우 알고 있지만, (아마도 및 Windows에서 쉽게 사용 가능한) 유닉스 출력에 C 헤더 옵션이 있습니다 xxd
프로그램하지 않습니다
xxd -i file.bin > file.h
file.h
이의 정의가 포함됩니다 데이터가 포함 된 unsigned char
의 배열과 배열의 길이를 나타내는 unsigned int
이 있습니다. 물론, file.c
출력에 더 좋을 수 있으며으로 다음 file.h
쓰기 :
extern unsigned char file[];
extern unsigned int file_len;
변수의 이름은 입력 파일에 따라 달라집니다. 희망이 도움이됩니다.
Heh. Google 데스크톱 내 하드 드라이브를 검색했는데 이미 xxd가 있습니다! Vim과 함께 왔어. 감사! – Nosredna
Vinay Sajip이 제공 한 리소스에 대한 답변은 내가 원하는 부분에 가깝지만 xxd를 사용하는 것은 너무 쉽기 때문에 내가 작성한 사용자 지정 코드를 사용하여 대신 사용하기로 결정했습니다. 파일 크기가 더 큰 경우 이진 리소스를 선택할 수 있습니다. – Nosredna