Бесплатные (хотя и не обязательно с открытым исходным кодом) компиляторы, предназначенные для MS-DOS (обычно 32-разрядные, но некоторые могут также по-прежнему ориентироваться на 16-разрядные):
Если вам интересен только один C (без поддержки C ++), есть и такие (я, честно говоря, понятия не имею, насколько хорошо эти вещи могут работать на современных системах, компилирующих современный исходный код - на самом деле, это было так давно, с тех пор как я что-то сделал в или для DOS, что я не знаю, насколько хорошо работают 3 вышеупомянутых компилятора для MS-DOS)