Есть небольшой код по работе с COM портом, написанный под Win32 нужно его портировать на DOS... я DOS работал последний раз лет 12 назад если не больше.. честно говоря стыдно признаться даже не знаю как откомпилить а главное где данный код... код написан на C++ знаю как сделать на ASM, но хочется на прямую компилить C++ под DOS.
И еще Borland C, как можно более поздней версии (ибо у Watcom всё для суровых пацанов — через тулзы, с активным использованием env-переменных, без IDE). Если память не изменяет, Borland C даже из-под винды мог компилить в досовский код.
P.S. А озвучьте общие требования проекта? Прямо удивительно стало, кому сейчас MS-DOS потребовался.
Здравствуйте, Testus, Вы писали:
T>Есть небольшой код по работе с COM портом, написанный под Win32 нужно его портировать на DOS... я DOS работал последний раз лет 12 назад если не больше.. честно говоря стыдно признаться даже не знаю как откомпилить а главное где данный код... код написан на C++ знаю как сделать на ASM, но хочется на прямую компилить C++ под DOS.
T>HEED Help!!
Borland C++ v5.02. Это последний транслятор от Borland, который мог делать код для DOS. IDE у него работает только под Винду, но в опциях проекта можно задать, что выходной код будет DOSовским.
Borland C++ v3.1. Классика жанра. IDE под DOS. От v5.02. отличается в лучшую сторону маленьким размером библиотек, и в худшую сторону поддержкой С++ конструкций. В частности, классы он понимает, а шаблоны не понимает совершенно.
Testus wrote:
> Есть небольшой код по работе с COM портом, написанный под Win32 нужно > его портировать на DOS... я DOS работал последний раз лет 12 назад если > не больше.. честно говоря стыдно признаться даже не знаю как откомпилить > а главное где данный код... код написан на C++ знаю как сделать на ASM, > но хочется на прямую компилить C++ под DOS.
Я боюсь, что проблемы типа "чем компилировать" -- не самые тут важные.
Важно понять, будет ли это вообще работать под DOS. Принципы общения
с COM в досе и винде очень разные -- в досе всё руками через ввод-вывод,
в винде -- вызовы функций Win API. Боюсь, что программу придётся
очень сильно переписывать, если вообще возможно будет переписать.
Здравствуйте, MasterZiv, Вы писали:
MZ>Я боюсь, что проблемы типа "чем компилировать" -- не самые тут важные. MZ>Важно понять, будет ли это вообще работать под DOS. Принципы общения MZ>с COM в досе и винде очень разные -- в досе всё руками через ввод-вывод, MZ>в винде -- вызовы функций Win API. Боюсь, что программу придётся MZ>очень сильно переписывать, если вообще возможно будет переписать.
Ну, на уровне потокового ввода-вывода, разница небольшая. Открываешь fopen("com1:") — и вперёд.
Только функции конфигурирования порта по-разному будут называться.
А вот если под виндами вовсю практиковался асинхронный ввод-вывод — тут уже всё сложнее.
Впрочем, зависит от степени размазанности примитивных операций по программе.
Если все эти overlapped IO сосредоточены в одном месте, то почему бы конкретно это место и не переписать.
Здравствуйте, Аноним, Вы писали:
А>Borland C++ v3.1. Классика жанра. IDE под DOS. От v5.02. отличается в лучшую сторону маленьким размером библиотек, и в худшую сторону поддержкой С++ конструкций. В частности, классы он понимает, а шаблоны не понимает совершенно.
Шаблоны не понимал Borland C++ 2.0. А в версиях 3.0 и 3.1 с шаблонами все нормально.
К>Ну, на уровне потокового ввода-вывода, разница небольшая. Открываешь fopen("com1:") — и вперёд.
Если мне не изменяет склероз, в ДОС это как правило делали через прерывания.
V>Если мне не изменяет склероз, в ДОС это как правило делали через прерывания.
... чтобы сделать программу псевдо-мульти-поточной, к примеру, чтобы пользоватеьский интерфейс не подвис пока программа читает данные из порта. Если надо просто читать, то наверное можно и по простому.