GCC를 사용하여 실행 파일에 데이터 리소스 삽입
실행 파일 내에 바이너리 데이터를 삽입하면 휴대용 애플리케이션을 배포하는 데 매우 유용할 수 있습니다. 예를 들어 셰이더 코드를 소스 코드로 저장하는 대신 바이너리 데이터로 포함하면 실용성이 크게 향상될 수 있습니다.
이를 달성하기 위해 GCC는 두 가지 기본 옵션을 제공합니다.
ld를 사용하여 바이너리 파일 삽입
링커 ld를 사용하면 모든 파일을 객체로 변환할 수 있습니다. file:
ld -r -b binary -o binary.o foo.bar # Subsequently link in binary.o
이 접근 방식은 개체 파일 내에 _binary_foo_bar_start, _binary_foo_bar_end 및 _binary_foo_bar_size와 같은 기호를 생성합니다.
bin2c/bin2h 활용 유틸리티
또는 bin2c/bin2h 유틸리티를 사용하여 모든 파일을 바이트 배열로 변환할 수 있습니다.
ld를 사용한 데이터 삽입의 예
다음은 다음을 사용하여 데이터를 삽입하는 방법에 대한 예시입니다. ld:
#include <stdio.h> extern char _binary_foo_bar_start[]; // Address of the embedded resource extern char _binary_foo_bar_end[]; int main(void) { int iSize = (unsigned int)(&_binary_foo_bar_end - &_binary_foo_bar_start); printf("Size of embedded resource: %d\n", iSize); for (char* p = _binary_foo_bar_start; p != _binary_foo_bar_end; ++p) putchar(*p); return 0; }
위 내용은 GCC를 사용하여 바이너리 데이터 리소스를 실행 파일에 어떻게 포함할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!