Мультиплатформенный проект c
Я должен разработать проект C, который должен работать на Linux. Я очень привык проектировать C-проекты на Windows, используя Visual Studio или DevC++. Возможно ли спроектировать проект под Windows, а затем перенести код на Linux. Можно ли использовать Eclipse CDT для переключения конфигураций компиляции с Windows на Linux. Что я должен делать? Что вы предлагаете мне сделать или искать?
1 ответ
Это широкий вопрос, поскольку у нас нет информации о том, чего вы пытаетесь достичь.
Некоторые рекомендации, которыми я могу поделиться с предоставленной ограниченной информацией: по моему опыту возможно написать код для Windows, а затем перенести его на Linux, хотя следует ожидать некоторых отличий в компиляторе Microsoft и компиляторах gcc, используемых в Linux/Unix (обычно более компилятор соответствует стандарту, тем больше он "предупреждает" или не будет принимать что-то подозрительное в вашем коде).
Если вы имеете дело с большим количеством зависимостей / заголовков / исходных структур, ваш проект может получить большую пользу от использования такого инструмента, как CMake, для решения всех этих проблем (мета-генератор, который может генерировать make-файлы и / или визуальные студийные решения в зависимости от ваша платформа из того же набора источников).
Также обратите внимание, что вам НЕ следует использовать какой-либо API, зависящий от платформы, чтобы сделать ваш код переносимым. Если вам действительно нужно, убедитесь, что #ifdef
эти разделы кода для конкретной платформы, на которой вы компилируете свой код.
Наконец, если вы планируете использовать графический интерфейс в своем приложении (или даже если вы его не планируете, вы все равно можете воспользоваться различными включенными библиотеками), вы можете использовать переносимый фреймворк, такой как Qt, но имейте в виду, что для этого потребуется изолировать часть C вашего приложения от C++ (Qt). В качестве другого варианта вашего предпочтения вы также можете использовать GTK+.