저는 Linux용 체스 엔진을 작성하고 싶습니다. C/C++ 또는 기타 고급 언어 외부 라이브러리 없이 순수 X64 어셈블리 언어로 작성됩니다. 전체 화면 텍스트/콘솔/터미널 모드에서 실행됩니다. 그래픽 사용자 인터페이스가 없습니다. 유니코드 문자를 사용하여 조각을 표시합니다. Windows 콘솔 API에서 구현하는 방법을 알고 있습니다. 터미널에 직접 액세스하고 글꼴을 유니코드 인식 글꼴로 변경하는 것과 관련된 Linux 커널 시스템 호출은 무엇입니까? 나는 분명히 그것을 조사했지만 주로 32비트에 대한 int 0x80 호출에 대한 정보를 거의 찾지 못했습니다.
답변1
Linux에서 콘솔과 상호 작용하는 데는 많은 시스템 호출이 필요하지 않습니다.open
,write
그리고ioctl
. ioctl과 관련된 일부 문서는 다음에서 찾을 수 있습니다.man ioctl_console
그리고man ioctl_tty
, 그러나 많은 ioctl이 문서화되어 있지 않습니다(예:KDFONTOP
) 이를 이해하려면 커널 소스 코드를 주의 깊게 읽어야 합니다. 너도 필요해man console_codes
콘솔에서 사용할 수 있는 이스케이프 코드에 대해 설명합니다.
그게 더 쉬울 것 같아유사한 기능을 구현하는 프로그램그리고 그들이 하고 있던 일을 재현해 보세요.