그림을 개체 파일 (.o)로 변환해야 sde-objcopy를 사용할 수 있습니다. 그러면 우리의 no-os 시스템에서이 그림을 사용할 수 있습니다. objcopy 명령을 테스트했는데 내 PC (Fedora 12)에서 제대로 작동합니다. 예를 들어, 아래 명령은 test.jpg를 test.o로 변환합니다.sde-objcopy의 아키텍처를 지정하는 방법은 무엇입니까?
: 여기
objcopy -I binary -O elf32-i386 -B i386 ../stdy/test.jpg test.o
$ sde-objcopy -I binary -O elf32-little test.jpg test.o
SDE-objcopy의를 : 경고 : 출력 파일은 UNKNOWN 아키텍처를 나타낼 수 없습니다!
경고를 어떻게 수정합니까?
b. objcopy는 파일 이름을 사용하여 오브젝트 파일에 심볼을 생성합니다. objcopy의 매개 변수로 전체 경로 (예 : /home/owner/stdy/test.jpg
)를 사용하면 긴 이름의 심볼이 생성됩니다. 이 문제를 해결할 수있는 우아한 방법이 있습니까?
$ objcopy -I binary -O elf32-i386 -B i386 ../stdy/test.jpg test.o
$ nm test.o
00000083 D _binary____stdy_test_jpg_end
00000083 A _binary____stdy_test_jpg_size
00000000 D _binary____stdy_test_jpg_start
$ objcopy -I binary -O elf32-i386 -B i386 test.jpg test.o
$ nm test.o
00000032 D _binary_test_jpg_end
00000032 A _binary_test_jpg_size
00000000 D _binary_test_jpg_start
I의 공학자 h 웹을 오랫동안 사용해 본 결과, sde-objcopy의 버전이 이전의 gnu-toolchain 코드 (2000 년 4 월 5 일, man sde-objcopy)를 기반으로한다는 것을 발견했으며, "-B"옵션은 2001 년까지 objcopy에 추가되었습니다. Redhat에서 일하는 프로그래머. 그래서 나는이 경고를 그냥 무시합니다. 두 번째 문제에 관해서는, 나는 우아한 방법을 찾을 수 없습니다. – Serval
매우 유용한 Linux 명령을 발견했습니다. 모든 파일을 .h 파일로 변환 할 수 있습니다. 이 헤더 파일에는 배열과이 배열의 길이 인 정수가 들어 있습니다. 명령은 : xxd -i test.jpg> test.h – Serval