2009-12-30 11 views
28

Đôi khi tôi muốn tra cứu các chức năng của stdlib, tôi đã tải xuống mã nguồn, nhưng nó khá lộn xộn.Tôi có thể duyệt mã nguồn của libc trực tuyến (như doxygen)

Chỉ greping không thực sự phù hợp vì có nhiều lần truy cập.

Có ai biết kiểu trang web doxygen có tài liệu hay không.

Cũng vậy với hạt nhân Linux.

Cảm ơn

+0

Cảm ơn câu trả lời của bạn, nhưng có thể tôi chưa đủ rõ ràng. Tôi không quan tâm đến api, tôi muốn thực hiện api. Mã nguồn thực tế cảm ơn – monkeyking

+0

monkeyking, bạn đã thử câu trả lời của tôi chưa? Tìm kiếm mã Google bao gồm mã nguồn hoàn chỉnh. –

+0

Có cảm ơn, tìm kiếm mã google dường như làm những gì tôi muốn. – monkeyking

Trả lời

7

Làm thế nào về this cho tài liệu libc? Và có lẽ this cho hạt nhân? Ngoài ra còn có tìm kiếm Google Code; here là tìm kiếm mẫu.

Thông tin thêm về Google Code Search Bạn có thể nhập các truy vấn tìm kiếm như sau: package: linux-2.6 malloc cho bất kỳ tham chiếu nào đến malloc trong hạt nhân linux-2.6.

Chỉnh sửa: Tìm kiếm mã Google hiện đã tắt. Nhưng bạn có thể truy cập vào git repo tại http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git và nó cũng có tìm kiếm.

+7

Liên kết Novell bị hỏng. –

+4

Câu trả lời này cần cập nhật. Rất tiếc, Google Code Search cũng không còn nữa. –

+0

Cảm ơn, Jonathon, tôi đã bao gồm một giải pháp thay thế. Vẫn đang tìm kiếm một sự thay thế tốt cho libc .... –

1

Nếu bạn đang sử dụng GNU C (glibc), các chức năng (ngoài các phần mở rộng GNU) theo sau the POSIX standard theo như đối số, triển khai, lỗi và giá trị trả lại của chúng. Nếu bạn muốn nhìn trộm dưới mui xe của các thành viên tĩnh, bạn sẽ phải nhìn vào mã.

Mỗi push (mà tôi có thể nhớ) để thử và chấp nhận một cái gì đó giống như Doxygen cho glibc đã bị từ chối vì những lý do sau đây:

  1. Redundant, POSIX đã chứng hầu hết mọi thứ Thats tiếp xúc, cũng như man và info các trang.
  2. Quá nhiều công việc ban đầu
  3. làm việc nhiều hơn để bảo trì

Theo như kernel đi, Linux không sử dụng một hệ thống rất giống với Doxygen gọi Kerneldoc.

2

Để giúp điều hướng nguồn đến glibc, có thể thử một cái gì đó như ctags hoặc cscope?

Lưu ý: Tôi nhận được gỗ mỗi khi tôi nhìn vào nguồn glibc, vì vậy hãy cẩn thận! :)

17

Bạn nên kiểm tra xem bản phân phối của bạn có đang sử dụng vanilla GLIBC hoặc ngã ba EGLIBC (Debian và Ubuntu đã chuyển sang EGLIBC) hay không.

Dù sao, trình duyệt kho lưu trữ cho glibc là http://sourceware.org/git/?p=glibc.git

Nguồn được một chút phức tạp bởi sự hiện diện của nhiều phiên bản của cùng một file.

+1

Đối với EGLIBC: http://www.eglibc.org/cgi-bin/viewcvs.cgi/ – Jacopo

+0

Cảm ơn bạn đã liên kết tới sourceware.org, trước đây là sources.redhat.com –