2010-03-23 29 views
6

Tôi là sinh viên làm việc để tối ưu hóa GCC cho bộ xử lý đa lõi. Tôi đã thử đi qua mã nguồn, rất khó để làm theo thông qua nó kể từ khi tôi cần phải thêm một số mã để kết thúc trở lại. Bất cứ ai có thể đề xuất một số tài nguyên tốt mà giải thích các dòng mã thông qua các giai đoạn khác nhau. Cũng đề xuất một số môi trường phát triển để gỡ lỗi GCC chủ yếu để bước qua mã. Có thể trên các cửa sổ?một số con trỏ để hiểu mã nguồn GCC

+3

Bạn đã từng tham gia khóa học trình biên dịch hay đọc sách về rồng? Nếu 'không' cho cả hai, bạn không có khả năng hiểu mã - trình biên dịch là một trong những chương trình phức tạp nhất có. –

+2

Có, tôi đã thực hiện các khóa học trình biên dịch, và cũng đọc cuốn sách rồng [không hoàn toàn mặc dù]. Nhưng tuy nhiên, cố gắng để hiểu GCC là thách thức như bạn đã nói. – rizwanhudda

+0

Tôi đã thực hiện một khóa học trình biên dịch. Cuốn sách rồng là gì? – Daniel

Trả lời

7

Là điểm xuất phát, hãy xem Links and Selected Readings trên trang web GCC. Quan tâm đặc biệt đối với bạn, tôi nghĩ, là:

Nếu bạn muốn phát triển trên Windows có lẽ bạn cần để bắt đầu từ MinGW (GNU tối thiểu cho Windows) Các nguồn trình biên dịch (bao gồm trình gỡ lỗi GDB GNU), là một cổng của GCC cho Windows.

Đối với môi trường phát triển thoải mái, tôi không thể giúp nhiều vì tôi không phát triển bằng C++. Nhưng tôi cho rằng một IDE tốt cho C/C++ là những gì bạn cần: có một cái nhìn tại this comparison, có rất nhiều IDE nguồn mở/miễn phí cho Windows.

Cập nhật: Tôi nghĩ ICI cũng có thể quan tâm đến bạn:

Các Interactive Compilation Interface (hoặc 'ICI' cho ngắn) là một plugin hệ thống với một cấp cao API độc lập với trình biên dịch độc lập và cấp thấp phụ thuộc vào trình biên dịch để chuyển đổi trình biên dịch hiện tại thành hợp tác các bộ công cụ tương tác mô-đun mở. Khung công tác ICI hoạt động như một giao diện "trung gian" giữa trình biên dịch và các trình cắm thêm có thể xác định người dùng . Nó mở ra và tái sử dụng các sản xuất chất lượng cơ sở hạ tầng trình biên dịch cho phép phân tích chương trình và thiết bị đo đạc, tinh hạt chương trình tối ưu hóa, tạo mẫu đơn giản của sự phát triển mới và nghiên cứu ý tưởng trong khi tránh xây dựng các công cụ biên soạn mới từ đầu. Ví dụ, nó được sử dụng trong MILEPOST GCC để tự động hóa trình biên dịch và thiết kế kiến ​​trúc và chương trình tối ưu hóa dựa trên thống kê phân tích và học máy. Nó nên cho phép các trình biên dịch tự biên dịch tự điều chỉnh không đồng nhất, cấu hình lại, đa lõi các kiến ​​trúc khác nhau, từ siêu máy tính đến các hệ thống nhúng.

.. như phần còn lại của các dự án dưới ô Collective TUNING.

Lưu ý: Viết "trình biên dịch là một trong những chương trình phức tạp nhất có", như BlueRaja viết trong bình luận, là một cách nói quá: có trình biên dịch rất đơn giản và trình biên dịch rất phức tạp. Nhưng trong lý thuyết trình biên dịch (một khi bạn đã nghiên cứu nó) không có gì bí truyền. GCC là một chương trình phức tạp để hiểu như bất cứ điều gì BIG, chương trình kém tài liệu trên đó . Vì vậy, rizwanhudda không được khuyến khích: bắt đầu nghiên cứu các tài liệu có sẵn và sau đó yêu cầu các nhà phát triển GCC (trên kênh GCC irc, như suggested by nvl hoặc GCC developers mailing list) để giải thích những gì là kém (hoặc không có ở tất cả) tài liệu.

  1. Thực tế, program comprehension là một lĩnh vực nghiên cứu hoạt động.
+0

Cảm ơn. điều đó thực sự rất hữu ích. – rizwanhudda

+0

Bạn được chào đón. – MaD70

1

Tôi khuyên bạn nên sử dụng GCC irc channel, nó có nghĩa là để thảo luận về phát triển GCC.

Các vấn đề liên quan