Задать вопрос

Как разрабатываются кросс-платформенные библиотеки на Си в 2015 году?

Исходные: хочется сделать небольшую библиотечку на Си, цель которой - в основном, подключаться в языки типа Python/Go через биндинги. Но и отдельное использование. Хочется, чтобы ее могли использовать с Windows, Linux и OS X. Возможно, у библиотеки будут зависимости.

Я немного не в теме разработки на Си, поэтому вопросы тупые:

1) Что в данном случае надо сделать для кросс-платформенности? Компиляция gcc и ... чем еще?
2) Какой инструмент сборки нынче в моде?
3) В какой среде разрабатывать под Виндой?
4) Что с зависимостями? Пользователи по прежнему должны их конфигурировать из исходников вручную?

Вообще, в целом, разработка на Си к 2015 году приобрела человеческое лицо, или пока нет?

П. С. Кстати, кто-нибудь может что-нибудь сказать про https://docs.gradle.org/current/userguide/nativeBi... ? Для Java Gradle это лучший инструмент. Или в суровом мире Си эти хипстерские Groovy-based билд системы не канают, только make скрипты?
  • Вопрос задан
  • 451 просмотр
Подписаться 4 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@MiiNiPaa
1) GCC и... всё. Можно ещё clang проверить, а больше нормальных развивающихся компиляторов С и нет вроде (у Microsoft компилятор С — гадость редкостная, в отличие от их же С++ компилятора)

2) Сmake

3) Блокнот. Можете попробовать Eclipse, он вроде как кроссплатформенный, но чую я что установка и настройка будут болезненными.

4) Cmake. Написал скрипт один раз, используют все.
Ответ написан
Olej
@Olej
инженер, программист, преподаватель
3) В какой среде разрабатывать под Виндой?

Ни в какой. Всё, что связано с C в винде - через задницу.

Вообще, в целом, разработка на Си к 2015 году приобрела человеческое лицо, или пока нет?

Ну да...
Собственно, разработки на C имеют человеческое лицо уже лет 40...

билд системы не канают, только make скрипты?

...
Лучше с умным потерять, чем с дураком найти

А чем вам make не угодил?
Ответ написан
Комментировать
@deleted-StrangerInRed
Clion (CMake + Idea) full crosplatform
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы