У меня есть программное обеспечение, которое было встроено в DOS на языке Си, и я пытаюсь преобразовать его в Linux, но некоторые библиотеки не работают в Linux, например conio.h
, graphics.h
! Я пытаюсь найти функцию замены для textmode, которая включает в conio.h
. Пожалуйста, помогите мне найти функцию замены! Не стесняйтесь рекомендовать мне книгу или статью, если это поможет мне перевести мой код из DOS в Linux.
1 ответ
Эти заголовочные файлы уникальны для Windows и не существуют в Linux, хотя есть хорошие альтернативы.
Для conio.h
большинство функций существуют также в Linux под тем же именем.
Вы можете использовать команду man
чтобы узнать, где они живут, например, используя man getc
, так что большинство из того, что вам нужно будет сделать, это переключить заголовочные файлы.
Вы также можете взглянуть на conio.h
в реализации conio.h для Linux c++, описанной как:
Простая Linux-реализация библиотеки Borland conio (conio.h). Он использует Ncurses. Он включает в себя большинство функций, необходимых для написания базового приложения с использованием conioh (например, getch (), cprintf (), put () и т.д.).
Для graphics.h
ситуация более сложная и требует использования альтернативных пакетов.
Вы могли бы взглянуть на libsdl или Allegro.
Или, если этот порт слишком сложный, вы, вероятно, сможете запустить скомпилированную Windows программу .exe
в Linux, используя Wine.
См. Следующую статью:Как установить и использовать Wine для запуска приложений Windows в Linux.