25 điểm bởi joone 2023-01-20 | 3 bình luận | Chia sẻ qua WhatsApp
  • LLVM là một hạ tầng trình biên dịch do Chris Lattner khởi xướng để cải thiện các vấn đề của các trình biên dịch hiện có và GCC, được công bố vào năm 2003.
  • Định nghĩa một biểu diễn trung gian (intermediate representation) để tái sử dụng từng thành phần của trình biên dịch
  • Nếu thêm một ngôn ngữ mới ở front end thì có thể tái sử dụng nguyên vẹn optimizer và back end
  • Cũng có thể chỉ dùng riêng front end để xây dựng chức năng phân tích chương trình tĩnh
  • Đã từng cố gắng tích hợp LLVM vào GCC nhưng không thành do sự phản đối từ cộng đồng
  • Apple đã áp dụng LLVM. Sử dụng Clang do họ phát triển mới thay cho GCC
  • Chris Lattner cũng phát triển Swift tại Apple. Được dùng làm ngôn ngữ mặc định trên nền tảng Apple thay cho Objective-C.

3 bình luận

 
ragingwind 2023-01-20

Thực tế thì giờ gần như de facto đã là clang rồi nhỉ, giờ nó còn hỗ trợ cả nhiều dự án khổng lồ nữa.

 
hohohoho 2023-01-20

clangLLVM chẳng phải có mục đích sử dụng khác nhau sao?

 
ragingwind 2023-01-21

Ý là clang, frontend dùng llvm, giờ đã được dùng trong nhiều dự án mã nguồn mở thay cho gcc. Đây không phải là bài so sánh hai bên. Có lẽ bạn nên xem phần 2 về bản phát hành clang: https://joone.net/2023/01/…