Tôi đang làm việc trên một cơ sở mã khá lớn có một chút ma thuật #ifdef đang diễn ra. Tôi đang xem một tệp và cố gắng xác định loại được xác định. Thật không may, nó bao gồm nhiều tệp, bao gồm nhiều tệp, bao gồm nhiều tệp, v.v. một số tệp xác định các macro ảnh hưởng đến định nghĩa nào bạn có thể sử dụng. Cấu trúc này phức tạp đến mức sau 10 phút giá trị của việc grepping và theo các chuỗi bao gồm, tôi vẫn không biết định nghĩa nào đang được sử dụng. Tôi nhớ rằng studio trực quan có một tính năng đẹp, nơi tôi có thể nhấp chuột phải vào loại và nó sẽ hiển thị nơi loại được xác định. Có một công cụ tốt đẹp tương đương cho Linux mà đọc làm cho các tập tin, vv? Tôi chắc chắn có, nhưng tôi vẫn chỉ sử dụng vim + grep cho môi trường phát triển của tôi.Xác định loại được xác định
Trả lời
Với định nghĩa và phụ thuộc phức tạp, tính năng này không phải lúc nào cũng hoạt động trong Visual Studio.
Giải pháp: yêu cầu trình biên dịch của bạn đổ mã sau khi được xử lý trước, yêu cầu in #line và #file chỉ thị quá. Tìm kiếm thông qua tệp kết quả cho loại của bạn, sau đó nhìn vào chỉ thị #file gần nhất để xem nó xuất phát từ đâu.
(Trong GCC bạn có thể sử dụng công tắc -E)
Điều này hiệu quả. Và bạn nói đúng, cách nào tốt hơn để phân tích cú pháp tất cả các macro tiền xử lý so với bộ tiền xử lý? –
Đôi khi việc viết một chương trình ngắn bằng cách sử dụng cùng các tùy chọn & thư viện giống như dự án của bạn và tận dụng bất kỳ thói quen chương trình nào (nếu có) để giúp xác định định nghĩa của cấu trúc được sử dụng. – Sparky
- 1. Không được xác định ở cấp loại
- 2. C# xác định loại chung
- 3. scala động xác định loại
- 4. Thứ tự xác định loại
- 5. MSVC's _M_X64 Xác định macro được xác định trước
- 6. Tại sao 'được xác định() || xác định 'cú pháp trong việc xác định một hằng số
- 7. sqlconnection không được xác định
- 8. Xác nhận JsonResult Có chứa Loại Chưa xác định
- 9. Xác định loại nội dung được yêu cầu?
- 10. Là loại unsigned ngắn + int thực hiện được xác định?
- 11. Phương thức getFragmentManager() không được xác định cho loại MyActivity
- 12. Loại từ điển có thứ tự khóa được xác định
- 13. Java Generic Class - Xác định Loại
- 14. tên loại không xác định 'uint8_t', MinGW
- 15. xác định loại bảng của Arduino
- 16. Xcode ios Tên loại không xác định?
- 17. Xác định loại tệp bằng C#
- 18. Xác định loại biến trong TCL
- 19. ValueError: loại url không xác định
- 20. MS Access: Xác định loại đối tượng
- 21. Oracle Xác định Loại Dữ liệu
- 22. Loại giá trị không xác định JSON
- 23. Xác định xem loại là điển
- 24. Xác định loại biến trong Netbeans PHP
- 25. Xác định DataGridView Loại cột Lập trình
- 26. Xác định loại tệp trong Windows
- 27. defaultdict không được xác định
- 28. Timedelta không được xác định
- 29. LNK2005 (đã được xác định)
- 30. IDT được xác định tĩnh
Tại sao không sử dụng gdb, nếu đó là một lựa chọn, bởi vì tôi không nghĩ vim có một tùy chọn như VS trừ khi thêm vào tồn tại ở đâu đó? Sử dụng một IDE như NetBeans. Câu hỏi liên quan, không phải là một bản sao http://stackoverflow.com/questions/559274/any-program-or-trick-to-find-the-definition-of-a-variable – DumbCoder
Thay vì lãng phí thời gian và công sức theo dõi định nghĩa của biến đó bạn luôn có thể chi tiêu tốt hơn các nguồn lực của bạn lên kế hoạch giết người của người đã làm nó. –