[완료] [질문] 바이너리 파일 합치는 방법? (ms-dos의 copy 명령과 같은 기능을 갖는 리눅스 명령은?)
글쓴이: jeein / 작성시간: 월, 2007/03/05 - 1:43오전
nasm으로 두개의 ex1.asm, ex2.asm 파일을 각각 컴파일 합니다
nasm -f bin -o ex1.bin ex1.asm
nasm -f bin -o ex2.bin ex2.asm
그러면 ex1.bin, ex2.bin 두개의 바이너리 파일이 만들어 집니다
MS-DOS에서는
copy ex1.bin+ex2.bin /b ex3.img 명령을 수행하면
ex3.img 파일이 만들어 집니다
리눅스에서는 어떤 명령을 사용해야 하는지요?
Forums:
ex1.bin 뒤에 바로
ex1.bin 뒤에 바로 ex2.bin을 합쳐서 파일 맹그는 방법은 .....
cat ex1.bin ex2.bin > ex3.img
특별한 걸 원하는 것 같지는 않는데... 이거말하시는 건지 ??
일반적으로 링커가 그런 일을 대신 해 줍니다.
합치고자 하는 오브젝트 파일이 어떤 건지는 잘 모르겠습니다.
nasm을 써본지 오래 되서..
두 오브젝트를 합치기 좋은 방법은 링커를 사용하는거죠.
감사합니다 간단했네요
cat에 파일 합치는 기능이 있다고 해서 man cat, cat --help 해봐도 찾을수가 없더군요
(cat ex1 + exe > ex3 :요렇게 해보기도 했네요 ㅋㅋ)
cat ex1 ex2 > ex3
위방법으로 하면 간단히 합쳐지네요
ex1: 0번지 부터 100번지까지 실행코드 바이너리
ex2: 101번지 부터 200번지 까지 실행코드 바이너리
ex3: 0번지 부터 200번지 까지 실행코드 바이너리
아직 링크 옵션은 잘 모르겠네요
두분 고맙습니다~~
os 만들기 쪽 같은데..
os 만들기 쪽 같은데.. 파일 크기 확인 잘하시구 하세요.
-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
위치를 골라가며
위치를 골라가며 단순하게 합친다면 dd 가 유용합니다.
dd if=a of=out.bin bs=1 count=10
dd if=b of=out.bin bs=1 count=10 seek=20
dd if=c of=out.bin bs=1 count=10 seek=10 skip=10
out.bin 의 0~10 에 a 의 0~10 을 복사하고,
out.bin 의 20~30 에 b 의 0~10 을 복사하고,
out.bin 의 10~20 에 c 의 10~20 을 복사합니다.
댓글 달기