我是一名学生,这个假期我有很多空闲时间,所以我决定花一些时间学习更多关于如何编写好的代码。(我现在只知道 C 和一些 C++)
我的问题是关于如何找到一些应用程序源代码?假设我正在寻找一些使用特定库的源代码。如何找到正在使用我感兴趣的库的开源项目。
我试过谷歌代码和sourceforge,但没有成功。我想我不知道如何搜索。您对如何做到这一点有任何建议/链接吗?
我是一名学生,这个假期我有很多空闲时间,所以我决定花一些时间学习更多关于如何编写好的代码。(我现在只知道 C 和一些 C++)
我的问题是关于如何找到一些应用程序源代码?假设我正在寻找一些使用特定库的源代码。如何找到正在使用我感兴趣的库的开源项目。
我试过谷歌代码和sourceforge,但没有成功。我想我不知道如何搜索。您对如何做到这一点有任何建议/链接吗?
没有找到开源代码的一站式商店。
如果您想阅读一些编写良好的代码, GNU 的 Savannah是一个可浏览的 GNU 资料库(Binutils、GCC 工具链和许多其他工具)。GNU 软件,恕我直言,它是任何地方最好的 C 语言。
您还可以查看MINIX,它是一个基于开源微内核的操作系统(也符合 POSIX)。
Gnome 项目有许多项目,涵盖从 C 到 Python 甚至 C# (FSpot) 的各种语言。
在搜索项目时,如果您知道名称,google 应该会有所帮助。如果没有,请在 google 上搜索库,例如“libfoo”,或查看您使用的包管理器的元数据(它通常有上游维护者的网站)。
例如:
[aiden@devbox ~]$ ldd /bin/ls
...
libcap.so.2 => /lib64/libcap.so.2
libacl.so.1 => /lib64/libacl.so.1
libc.so.6 => /lib64/libc.so.6
libpthread.so.0 => /lib64/libpthread.so.0
...
我可以用谷歌搜索“libpthread”,发现它是GNU C 库的一部分
如果您想参与FOSS/C,那么请学习使用Git或subversion等源代码控制系统,以及 diff 来制作补丁。与人交谈,他们总是希望新的开发人员对错误进行分类并修复问题。但你可能会找到一个等级顺序和一个社会阶梯来攀登。
祝好运并玩得开心点!
如果您知道库中包含特定方法,那么您可以随时搜索这些方法。
或者,如果图书馆设置了 irc 频道或新闻组,请在此处提问。
如果你能找到它,看看“龙之书”。Spinelli 的代码阅读也不错。两者都将帮助您理解您正在阅读的代码。
有一个查找开源代码的一站式商店。
它被称为google codesearch并在许多开源项目中进行搜索。要使用特定库查找代码,只需搜索用于将其包含在代码中的术语,例如#include <libusb.h>或import ipaddr。
Koders可能会有所帮助。它是一个源代码搜索引擎。
访问 Launchpad.net 并与友好的 Ubuntu 社区取得联系。这是一个很好的起点,因为如果您提出问题,它们并不那么苛刻。
Scott Hanselman 在他的博客上有一个名为The Weekly Source Code的系列,值得一试。
四个“简单”的步骤:
第 1 点和第 2 点会留住你做事。
通过第 3 点,您将学习如何下载源代码、阅读补丁并了解不同人的代码。
通过第 4 点,您将练习编码,如果您愿意,您可以开始与项目正式合作 :)