2011-09-06 38 views
16

Có bất kỳ công cụ miễn phí nào (hoặc trực tiếp các plugin CDT Eclipse) quét mã C++ cho các hàm, phương thức, biến không sử dụng, bao gồm ...?C++, tìm mã không sử dụng và bao gồm

Tôi chỉ tìm thấy công cụ này cho C# và Java, nhưng tôi muốn có nó cho C++. Các trình kiểm tra Cppcheck và cũng có thể tìm các biến không sử dụng trong một phạm vi, nhưng chúng không tìm thấy, ví dụ, các hàm thành viên không được sử dụng trong các lớp hoặc không được sử dụng bao gồm trong tệp .cpp. Nó sẽ là tốt để có một cái gì đó như thế để tìm mã không dùng và cũ trong dự án.

+0

có thể trùng lặp của [C/C++ miễn phí thay thế cho Lint?] (Http://stackoverflow.com/questions/632057/cc-free-alternative-to-lint) (hoặc có thể không trùng lặp?) – birryree

+0

g ++ sẽ bắt các biến cục bộ không sử dụng. Chỉ vì chức năng thành viên (công khai) không được sử dụng không có nghĩa là nó không nên vẫn là một phần của API lớp. –

+0

Hãy nhận biết rằng rất nhiều công cụ này định nghĩa không được sử dụng bao gồm "biên dịch khi loại bỏ này bao gồm" là một cái gì đó khác nhau, vì mỗi tiêu đề C++ tiêu chuẩn có thể bao gồm bất kỳ tiêu đề khác, nhưng bạn không bao giờ nên dựa vào đó. (Điều này cũng có thể đúng đối với một số thư viện). Nó hiếm khi thực sự gây hại để bao gồm các tệp từ thư viện của bên thứ ba không cần thiết trong tệp .cpp cụ thể đó của bạn. – PlasmaHH

Trả lời

2

PCLint là cách tốt nhất cho loại phân tích tĩnh này.

+0

Tôi shoudl đã rõ ràng hơn: Tôi đang tìm kiếm cái gì đó miễn phí (tốt nhất: OpenSource). – blubberbernd

3

Phiên bản "NDepend" tồn tại cho C++ (cppdepend). Tôi đã không thử nó, nhưng tôi đã sử dụng NDepend trong quá khứ. Nó phải là tốt, YMMV.

1

Deheader, theo ước tính Eric S Raymond, sẽ tìm thấy không được sử dụng bao gồm. Đối với mọi thứ khác, tôi sử dụng các công cụ phân tích tĩnh của Visual Studio.

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