Это набор фрагментов кода, являющихся общественным достоянием (CC0), написанных на C для выполнения различных распространенных задач, которые обычно зависят от ОС, архитектуры и/или компилятора. По сути, наша цель — переместить эти раздражающие условия препроцессора из вашего кода в наш.
Модули не имеют фиксированной цели (например, C89), поскольку это лишило бы некоторых функций; вместо этого мы просто пытаемся обеспечить как можно более широкую поддержку для каждого модуля. Если у вас есть платформа, которая не поддерживает определенную функцию, но может поддерживать, сообщите нам об этом; мы были бы рады попытаться найти способ поддержать его.
Все постоянно тестируется с использованием различных версий GCC, Clang и PGI (на Travis CI), MSVC (на AppVeyor) и Emscripten (на Codefresh):
На данный момент готовые к использованию модули включают в себя:
<stdint.h>
)Существуют также модули, которые, возможно, еще не готовы к широкому использованию, но их тестирование принесет большую пользу:
Модули можно использовать изолированно, хотя некоторые из них лучше работают вместе, поэтому, если вы можете сохранить весь репозиторий вместе, а не просто копировать один файл, мы рекомендуем вам сделать это.
Пожалуйста, не стесняйтесь сообщать о проблемах по любому из этих вопросов; Если у вас есть проблемы, скорее всего, они возникнут и у других, поэтому мы хотели бы их исправить.
Если у вас есть что-то, что вы хотели бы внести, отправьте сообщение о проблеме или запрос на включение. Если вы хотите помочь, написав что-то новое, взгляните на проблемы «улучшения» в нашем трекере проблем для поиска идей.
Некоторые вещи не совсем подходят для этого репозитория, поэтому вот несколько небольших проектов для переносимости вещей, которые могут вас заинтересовать:
mman.h
( mmap()
и т. д. ) для Windows.Если есть проект, который вы хотели бы добавить в список, отправьте сообщение о проблеме или запрос на включение.