He estado aprendiendo C, y estoy buscando un proyecto de código abierto (preferiblemente muy) simple para entrar. Lo más probable es que implique más jugar y aprender de mi parte que la contribución real, pero parece una excelente forma de ganar algo de experiencia y ver cómo se usa realmente C. ¿Algunas ideas?Proyecto de código abierto simple C
Respuesta
Hay un número de proyectos de código abierto que están codificados en C. Si solo está buscando modificar, en lugar de contribuir, simplemente elija una herramienta que use regularmente (para que esté familiarizado con lo que hace y donde podría ser alterado/mejorado).
Si está buscando sugerencias reales, el busca "menos" es un buen comienzo. Está escrito de una manera limpia, es corta, y it does a surprising amount
¡Por supuesto esto depende principalmente de lo que usted consideraría tan simple! He pirateado todo con the mutt mail client, que está escrito de una manera ordenada, lo que hace que sea fácil de ampliar, pero ni siquiera pretendo entender cómo funciona.
No menciona su entorno, por lo que soy libre de asumir GNU/Linux. Asumiré más adelante que está ejecutando Debian, y si es así puede descargar la fuente a las aplicaciones muy fácilmente. Simplemente ejecute esto:
apt-get source less
Suena extraño, pero creo que la mejor manera de aprender C es escribir extensiones C para Python. Hay muchas extensiones simples que de alguna manera usan la API de Python C y es divertido trabajar con eso. (Probablemente es menos interesante si usted no sabe Python ^^)
Eso es básicamente la forma en que aprendí C. Para pequeños módulos sólo se ven en la Cheeseshop^Wpypi, hay muchas bibliotecas que están escritas en C
De lo contrario, echa un vistazo a algunas aplicaciones simples de GUI de GNOME. Muchos de ellos están escritos en C.
Dos pulgares arriba. Iba a sugerir lo mismo, si el OP conoce a Python. La API de Python está extremadamente bien diseñada. Le enseñará sobre la gestión de la memoria y obtendrá algo útil para jugar de forma interactiva. Una útil extensión de Python que he escrito: pypi.python.org/pypi/py_sg –
Es posible que los proyectos que sean lo suficientemente interesantes como para tener una comunidad de código abierto no trivial implican un poco de complejidad. Naturaleza de la bestia: si realmente no es compleja (o no es realmente compleja), ya está bien resuelta y es estándar o no es lo suficientemente interesante como para atraer mucha atención.
La llegada de nuevos dominios de problemas romper esta condición, por supuesto, por lo que sólo necesita para construir algo tan inteligente que es obvio después del hecho ...
Eso decir, considere dillo, que a pesar de la primera página está trabajando silenciosamente en la versión 2 (basado en fltk).
Como mencionó Steve, una utilidad estándar de UNIX como "menos" es probablemente una gran idea.
También pensaba que tal vez un editor de texto liviano podría ser genial para tratar de hackear. "Joe", por ejemplo, está escrito en C y tiene licencia GPL. En la misma línea, si está en Windows, el editor "WinVi" tiene licencia GPL y está escrito en C.
¿O tal vez un juego simple basado en consola de algún tipo? ¿Preferiblemente textual, como un juego de aventura/RP?
Si quieres ver un buen código, echa un vistazo a la fuente sqlite.
Independientemente de si puede o no contribuir o jugar con él, no lo sé, pero vale la pena al menos un vistazo para ver el estilo C bueno y limpio.
¿Qué idiomas que ya sabes? ¿Conoces un lenguaje dinámico como Perl/Python/Ruby/Groovy?
Lo que C es mejor en (en mi opinión) es una programación de bajo nivel que implica acceso a hardware, matemática robusta y algoritmos altamente eficientes.
Obtendrá más satisfacción si no intenta usar C para hacer las mismas cosas que en un lenguaje dinámico, pero intente utilizarlo para lo que es bueno. ¡Intenta piratear el hardware! ¿Tiene una cámara digital, un enrutador, un teléfono celular u otro dispositivo con firmware o utilidades de código abierto? ¡Intenta piratear esos! ¡Intenta escribir un código para mirar archivos binarios! Si le interesan las matemáticas y la ciencia, busque un paquete numérico relacionado con su ciencia favorita y busque en el código.
Por último, intente echarle un vistazo al kernel de Linux. Claro, es una gran base de código , millones de líneas de código, pero también es extremadamente modular y bien documentado. Hay al menos dos libros muy buenos sobre el código: Understanding the Linux Kernel y Linux Device Drivers (este último está disponible gratuitamente en línea).
Mozilla puede ser una buena opción para usted. Para C puede verificar su módulo de seguridad en https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Getting_started_with_NSS
- 1. ¿Cómo transfieres un proyecto de código abierto?
- 2. ¿Proyecto de código abierto para el desarrollador de C++?
- 3. servidor proxy de código abierto C# - ¿algún proyecto/ejemplo?
- 4. ¿Cómo financiar un proyecto de código abierto?
- 5. ¿Es C de código abierto?
- 6. C# código abierto analizador NMEA
- 7. Buen código fuente abierto para C++
- 8. ¿Cómo crear un proyecto de iOS de código abierto?
- 9. ¿Qué es un buen primer proyecto de código abierto?
- 10. bien documentado proyecto de código abierto en .net
- 11. Código abierto compilador/convertidor C++ a C#
- 12. Asp.net proyecto de código abierto como una fuente de aprendizaje en C#
- 13. ¿Puede indicarme un gran proyecto de código abierto de Python?
- 14. Proyecto de código abierto de Java para contribuir
- 15. Algoritmo de reimplementación del proyecto de código abierto
- 16. Xcode proyecto de iPhone archivos de código abierto para distribuir
- 17. iniciando un proyecto de código abierto de Javascript
- 18. Cliente de código abierto torrent en C#
- 19. ¿Cómo elegir un proyecto de código abierto para unirse?
- 20. Buen proyecto django de código abierto para aprender
- 21. ¿Dónde puedo anunciar un proyecto de código abierto?
- 22. ¿Cómo se puede comenzar un proyecto de código abierto exitoso?
- 23. Cómo organizar el proyecto para la versión de código abierto
- 24. ¿Qué pensar al hacer un proyecto de código abierto?
- 25. Buscando consejo para tomar un proyecto de código abierto
- 26. Alojando un proyecto de código abierto en varios sitios
- 27. Buscando * pequeño *, de código abierto, proyecto de C# con amplia pruebas unitarias
- 28. Instalador simple para proyecto Qt C++, solo para Windows
- 29. Proyectos de código abierto para practicar TDD/BDD en C#
- 30. ¿Árbol genealógico de código abierto o gratuito para C#?
Me acabo de enterar que puede obtener la Fuente de esa manera, es increíble. – dysoco