Я работаю над написанием ядра, и у меня есть несколько друзей, работающих со мной над проектом. Некоторое время мы использовали DJGPP для компиляции проекта, но у нас возникли некоторые проблемы с кросс-платформенной совместимостью при компиляции, из-за которых мой основной Партнет в проекте не мог компилироваться в Windows XP. (У GCC DJGPP есть проблемы со списками аргументов длиннее 127 в Windows XP, но у него нет проблем с теми же списками аргументов в Vista. Так, на этот раз Vista работает лучше, чем XP в чем-то. O.O)
В любом случае, вместо того, чтобы пытаться сделать какой-то грязный хак, чтобы сделать чертову штуку компилируемой с DJGPP, мы решили, что хотим полностью отказаться от DJGPP и работать с другой версией GCC для Windows. Проблема в том, что MinGW (насколько мне известно) не позволяет нам использовать синтаксис NASM для сборочных частей кода, и было бы немного трудно преобразовать все это в синтаксис AT & T на данном этапе. Возможно, конечно, так как это довольно рано в проекте, но боль.
Итак, теперь вы знаете проблему. У меня такой вопрос: какой дистрибутив компилятора GCC для Windows позволит нам легче всего перенести этот проект на себя? В идеале мы ищем что-то, что могло бы выполнять синтаксис ассемблера NASM, не зависеть от внешних библиотек (это ядро здесь, у него не будет к ним доступа) и работать согласованно на нескольких версиях Windows. Каковы ваши рекомендации о том, как лучше всего это сделать, и какую версию GCC для Windows вы рекомендуете?
Обратите внимание, что если нам понадобится преобразовать проект в синтаксис AT & T, это нормально, я просто хотел бы этого не делать. На самом деле мы используем NASM для сборки его сборочных битов, и это создает действительный файл .o, но MinGW не может связать это по какой-то причине. Я думаю, что встроенные биты сборки (возможно, 5 строк) уже являются синтаксисом AT & T, как того требует GCC.
Спасибо!