-2
Использует __MSDOS__
с djgpp или должен использовать __DJGPP__
?Является ли __MSDOS__ еще при компиляции с djgpp?
сравнения, я знаю _WIN32
не определен по умолчанию на Cygwin (на основе предположения DJGPP и Cygwin, имеют целью построить слой Unix, чтобы скрыть подробности реальной ОС).
У меня больше нет машины DOS для ее проверки.
Это не сайт, где люди читают руководство вашего компилятора, потому что вы не можете быть обеспокоены. Поскольку большинство из нас не пишут программы DOS для нашей дневной работы, это не то, что кто-то может знать наизусть. Вам придется свернуть рукава и RTFM. – jforberg
Не уверен, но https://sourceforge.net/p/predef/wiki/OperatingSystems/#msdos предлагает проверить несколько макросов. Я знаю, что компилятор C Bruce's определяет '__MSDOS__'. Может быть, DJGPP делает, но Turbo C использует один из других (или наоборот)? [Другой сайт] (http://jesusnjim.com/programming/common-compiler-defines.html#djgpp) говорит «да». В будущем Google сэкономит вам время: _ предопределенные макросы_. –
@jforberg: Боюсь, http://www.delorie.com/djgpp не заявляет об этом. и binutils используют как '__MSDOS__'and'__DJGPP__' – user2284570