Quá trình xây dựng (biên dịch và liên kết) mã nguồn trong D khác với C/C++ như thế nào liên quan đến các hàm nội tuyến, hệ thống mô-đun D (thay vì tiêu đề) và công cụ xây dựng. Làm thế nào là instantiations mẫu tái sử dụng trong D?D Quá trình xây dựng
6
A
Trả lời
2
nó không khác nhau nhiều, mỗi mô-đun được biên dịch sang file obj riêng của mình mà sau đó được liên kết với nhau mà IIRC là không khác so với C/C++ quá trình
sự khác biệt chính tuy nhiên nằm ở chỗ các nhập khẩu là biểu tượng thay vì C của toàn bộ tập tin #include
mà loại bỏ sự cần thiết phải headerfiles (mặc dù các tùy chọn cho headerlike file .di là có cho API nguồn đóng)
các mẫu thực sự cần phải được bao gồm trong các tập tin có sẵn cho trình biên dịch mặc dù (như họ cần phải ở trong tiêu đề cho C++)
Các vấn đề liên quan
- 1. Tại sao quá trình xây dựng Titanium lại quá chậm?
- 2. Quá trình xây dựng Android hoạt động như thế nào?
- 3. Hủy quá trình xây dựng đang chạy trong VS
- 4. ActivationManager Ngoại lệ trong quá trình xây dựng?
- 5. Hệ thống xây dựng thực tế cho D
- 6. Tại sao quá trình biên soạn D mất quá lâu?
- 7. Quá tải xây dựng trong VBScript
- 8. Tại sao quá trình xây dựng quá tải này giải quyết không chính xác?
- 9. D Quy trình phát triển
- 10. Python: Sự cố với các nhà xây dựng quá tải
- 11. Sự mơ hồ giữa các nhà xây dựng quá tải
- 12. StyleCop tích hợp với CI quá trình xây dựng (Criuse Control, Nant, msbuild và StyleCop)
- 13. Vô hiệu hóa quá trình xây dựng không gian làm việc trong Eclipse
- 14. Maven: cài đặt tập tin jar trong quá trình xây dựng
- 15. Các dự án Android lớn - cách tăng tốc quá trình xây dựng?
- 16. NuGet - Không nhìn thấy phép NuGet tải gói còn thiếu trong quá trình xây dựng
- 17. eclipse C++ loại trừ nhiều tệp khỏi quá trình xây dựng cùng một lúc?
- 18. Mã ký như là một phần của quá trình xây dựng
- 19. Làm thế nào để loại bỏ App_LocalResources từ quá trình xây dựng
- 20. Tự động cập nhật tệp nuspec trong quá trình xây dựng
- 21. Tự động tạo gói NuGet như một phần của quá trình xây dựng
- 22. Tệp LC.exe không được tìm thấy trong quá trình xây dựng cho .NET 4
- 23. Xây dựng với phần xây dựng với Cython
- 24. trình biên dịch tạo nhà xây dựng
- 25. PHP/MySQL xây dựng trình đơn cây
- 26. Trình xây dựng chuỗi trong CIL (MSIL)
- 27. Trình xây dựng GUI wxpython tốt?
- 28. Xây dựng một trình liên kết
- 29. Biên dịch mã để xây dựng bản phát hành trong D
- 30. Erlang - trường hợp xây dựng
Tôi sẽ tưởng tượng rằng các mẫu instantiations được tái sử dụng trong D trong rất nhiều giống như cách extern mẫu làm việc trong C++ 11. Đó là tất cả những gì tôi có thể đóng góp cho cuộc thảo luận này. –
Tôi tin rằng trong một tập hợp nhiều tập tin, mẫu instantiation được thực hiện chỉ một lần sau đó được lưu trữ trong một trong các tập tin đối tượng được tạo ra. Nhưng tôi không chắc đủ để viết một câu trả lời. Khi biên dịch theo cách này, các hàm nội tuyến luôn luôn vượt qua các ranh giới mô-đun, giống như chúng nếu tạo mã liên kết thời gian được sử dụng trong C++. IMHO! – ponce
@ponce không có gen mã thời gian liên kết hiện chỉ có một số tối ưu hóa –