Esta é uma coleção de trechos de código de domínio público (CC0) escritos em C para executar várias tarefas comuns que normalmente dependem do sistema operacional, da arquitetura e/ou do compilador. Basicamente, nosso objetivo é mover aquelas irritantes condicionais de pré-processador do seu código para o nosso.
Os módulos não têm destino fixo (como C89), pois isso impediria algumas funcionalidades; em vez disso, simplesmente tentamos fornecer o suporte mais amplo possível para cada módulo. Se você tiver uma plataforma que não é compatível com um recurso específico, mas poderia ser, informe-nos; ficaríamos felizes em tentar encontrar uma maneira de apoiá-lo.
Tudo é testado continuamente com várias versões de GCC, Clang e PGI (no Travis CI), MSVC (no AppVeyor) e Emscripten (no Codefresh):
Os módulos atualmente prontos para uso incluem:
<stdint.h>
)Existem também módulos que podem ainda não estar prontos para uso generalizado, mas que se beneficiariam muito com os testes:
Os módulos podem ser usados isoladamente, embora alguns funcionem melhor juntos, então se você puder manter todo o repositório junto em vez de apenas copiar um único arquivo, recomendamos que você faça isso.
Por favor, não tenha vergonha de registrar problemas sobre qualquer um deles; se você tiver problemas, é provável que outros também tenham, por isso gostaríamos de corrigi-los.
Se você tiver algo com o qual gostaria de contribuir, registre um problema ou pull request. Se você quiser ajudar escrevendo algo novo, dê uma olhada nos problemas de "aprimoramento" em nosso rastreador de problemas para ter ideias.
Algumas coisas realmente não cabem neste repositório, então aqui estão alguns projetos pequenos para fazer coisas portáveis nos quais você pode estar interessado:
mman.h
( mmap()
, etc. ) para Windows.Se houver um projeto que você gostaria de ver adicionado à lista, registre um problema ou pull request.