반응형
어떤 프로그램이 주어진 파일에 C 배열을 생성합니까?
저는 과거에 어떤 파일이든 가져와서 그 파일을 나타내는 C 배열을 출력으로 생성하는 프로그램을 본 것을 기억합니다. 그것은 경우에 따라 별도의 파일을 배포하지 못하게 할 것입니다.어떤 유닉스/리눅스 프로그램이 그렇게 합니까?
대용량 파일의 경우 텍스트로 변환한 다음 컴파일러가 다시 구문 분석하도록 하는 것은 비효율적이고 불필요합니다.사용하다objcopy
대신:
objcopy -I binary -O elf32-i386 stuff stuff.o
x86이 아닌 플랫폼의 경우 필요에 따라 출력 아키텍처를 조정합니다.그런 다음 프로그램에 연결하면 다음과 같이 액세스할 수 있습니다.
extern char _binary_stuff_start[], _binary_stuff_end[];
#define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start)
...
foo(_binary_stuff_start[i]);
hexdump -v -e '16/1 "0x%x," "\n"'
stdin에서 C와 같은 배열을 생성하지만 선언, 중괄호 또는 올바른 형식이 없습니다.
이것이 Unix/Linux 질문이라는 것은 알지만 Windows에서 동일한 작업을 수행하려는 사용자는 누구나 Bin2H를 사용할 수 있습니다.
가장 쉬운 방법은 다음과 같습니다.
xxd -i -a filename
언급URL : https://stackoverflow.com/questions/1155578/which-program-creates-a-c-array-given-any-file
반응형
'it-source' 카테고리의 다른 글
파이썬의 모듈러 곱셈 역함수 (0) | 2023.06.30 |
---|---|
Oracle 11g 데이터베이스에 원격으로 연결하는 방법 (0) | 2023.06.30 |
소스에 X개의 요소가 있지만 대상에는 1개만 허용됩니다. (0) | 2023.06.30 |
Firestore 배열 필드에 값 추가 (0) | 2023.06.30 |
Oracle에서 Python 호출 (0) | 2023.06.30 |