cuốn sách gpt4 ai đã làm

Tại sao quá trình hoàn thành mã bằng CEDET trong Emacs lại chậm đến vậy?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 18:36:17 27 4
mua khóa gpt4 Nike

Gần đây tôi đã dùng thử KDevelop. Nó tìm kiếm các ký hiệu (biến, tên hàm, lớp, cấu trúc...) ngữ nghĩa-hoàn thành-tự chèn hoặc M-Ret Nhanh hơn nhiều (ngay lập tức). sử dụng M-Ret Nhanh hơn, nhưng nó không có định dạng đẹp như các IDE khác, nhưng giống như Từ con số không > Một định dạng vô nghĩa như vậy. Trong emacs, tôi phải đợi ít nhất ~ 1 giây và trong nhiều trường hợp, đợi CEDET tìm tất cả các tệp nguồn có liên quan đi kèm, việc này mất nhiều thời gian.

tôi đã sử dụngtự động hoàn thành tiếng kêu, nhưng dường như không có sự cải thiện về tốc độ. Tại sao lại như vậy :(? Tôi yêu thích Emacs và đã sử dụng nó cho C/C++ của mình gần một năm trước khi tôi phát hiện ra KDevelop, nhưng sử dụng Emacs có nghĩa là việc hoàn thành mã sẽ không đáng kể và là tùy chọn?

câu trả lời hay nhất

Câu trả lời đơn giản nhất cho vấn đề này có lẽ là DUChain và trình phân tích cú pháp của KDevelop được viết bằng (tôi giả sử) C++, với cách quản lý mã thông báo được xây dựng tương tự. Trình phân tích cú pháp của CEDET có trong Emacs Lisp, cũng như cơ sở dữ liệu và tra cứu. Mặc dù một số bảng được tạo và lưu vào bộ nhớ đệm giữa các lệnh gọi đến công cụ hoàn thiện trong Emacs, nhưng chúng thường được xây dựng lại dưới dạng thay đổi mã (do đầu vào). Sau khi tất cả các bảng được xây dựng, công cụ hoàn thành CEDET có thể rất nhanh.

Tôi đã chạy rất nhiều hồ sơ khi hoàn thành mã để tăng tốc mọi thứ và sau khi đọc một chút về duchain, có vẻ như KDevelop có một bảng ký hiệu chính cho toàn bộ dự án. CEDET không thể thực hiện việc này vì không phải tất cả các tệp đều nằm trong một dự án, vì vậy cần tạo một bảng tạm thời cho mỗi tệp. Tôi đã biết về điều này từ lâu, nhưng chưa bao giờ đưa cơ sở dữ liệu ký hiệu cho CEDET ra bên ngoài để một bảng như vậy có thể được xây dựng và duy trì trong một luồng (quy trình) riêng biệt.

Giới thiệu về c++ - Tại sao quá trình hoàn thành mã bằng CEDET trong Emacs lại chậm đến vậy? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7736891/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress