나는 운영 체제 개발과 초급 과정을 배우고 있습니다. C 언어를 사용하는 16 비트 환경 인 리얼 모드 환경에서 시스템을 구축하고 싶습니다. GCC의 언어로 16 비트 실행 파일을 (정확히는 아니지만) 생성`asm()`함수는 C 언어로 어떻게 작동합니까?
asm(".code16")
을 :
는 C에서, 나는 다음과 같은 16 비트 코드를 변환하는 기능 asm()
을 사용했다.
질문 :
가정하자 나는 두 개의 헤더 파일 head1.h
및 head2.h
과 main.c
파일이 있습니다. 이제
asm(".code16");
#include<head1.h>
#include<head2.h>
int main(){
return 0;
}
내가 16 비트 실행 파일을 생성하는 명령을 내 코드를 시작하고 head1.h
및 head2.h
포함되어 있기 때문에 나는 모든 헤더 파일에서 동일한 작업을 수행해야합니다, 다음과 같이 main.c
파일의 내용은 나는 창조 할 것인가? (또는) asm(".code16");
번 줄을 한 번 추가하는 것으로 충분합니까?
OS : 우분투는
컴파일러 :은 GNU CC
gcc를 사용하여 16 비트 코드를 컴파일하지 않는 것이 좋습니다. 당신이 사용하는 것은 많은 문제를 일으키는 괴롭힘입니다. – fuz