그리고 출력할때 실행파일포맷으로 옛날에 DOS에 쓰던 EXE파일 포맷으로 출력할 수 있나요?
int integer = -16;
printf("|%#x|\n", integer);
printf("|%#hx|\n", integer);
printf("|%#hhx|\n", integer);
결과
|0xfffffff0|
|0xfff0|
|0xf0|
Quote:
$ man 3 printf
The length modifier
Here, `integer conversion' stands for d, i, o, u, x, or X conversion.
hh A following integer conversion corresponds to a signed char or
unsigned char argument, or a following n conversion corresponds
to a pointer to a signed char argument.
h A following integer conversion corresponds to a short int or
unsigned short int argument, or a following n conversion corre-
sponds to a pointer to a short int argument.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
Re: gcc 출력을 16bit code로 나오게 할려면.
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
Re: gcc 출력을 16bit code로 나오게 할려면.
질문하신 내용에 대해 단순하게 대답하자면,
GCC는 32bit 실행파일만 생성 가능한 것으로 알고 있습니다.
GCC의 DOS 버전인 DJGPP를 사용하시면 가능합니다.
그러나 위의 컴파일러는 32bit 보호모드용 실행파일만 생성합니다.
아.. 그렇군요...
그러면 GCC로는 DOS용 실행파일은 만들수 없는 것이군요...
답변감사드립니다. :)
DJGPP에 기본 포함된 GCC로 DOS용 32bit 실행파일은 만들 수
DJGPP에 기본 포함된 GCC로 DOS용 32bit 실행파일은 만들 수 있습니다. 16bit 실행파일을 만들 수 없을 뿐입니다.
참고로 8086을 위한 DJGPP GCC도 있긴 있는데 사용가능한 수준은 아닌 것 같습니다.
http://www.delorie.com/djgpp/16bit/gcc/
댓글 달기