2013-03-24 32 views
12

GCC 4.8 hỗ trợ DWARF4. Tôi tự hỏi sự khác biệt giữa DWARF4 và DWARF2 từ quan điểm người dùng xem là gì.Gcc 4.8 DWARF4 vs DWARF2

Cho phép xem từ góc nhìn GDB. Có sự khác biệt nào đối với người dùng khi bạn chuyển sang DWARF4 không?

Tôi đã tìm thấy một trang Dwarf Home, nhưng theo như tôi có thể thấy không có nơi nào trên thông tin web về sự khác biệt từ POV của người dùng.

Bạn có thể chỉ cho tôi những điểm khác biệt này không?

+0

Có thể danh sách các sự cố được giải quyết trong V3 và V4 giúp bạn, dường như chứa một số điều C++ 11 – PlasmaHH

+1

Phiên bản cũ hơn của GCC cũng hỗ trợ DWARF4. Sự khác biệt duy nhất là bây giờ nó là mặc định trong 4.8. Tôi đã sử dụng DWARF4 cho đôi khi với GCC 4.7 bằng cách sử dụng cờ trình biên dịch -gdwarf-4. – Cromulent

+0

@Tuyệt vời bạn là đúng sai lầm của tôi, nhưng tôi cảm thấy rằng câu hỏi vẫn còn hợp lệ. 1 cho bạn :) – CyberGuy

Trả lời

3

Trang Dwarf 4 standard liệt kê các cải tiến chính, thông số này liệt kê chi tiết hơn.

Điểm mấu chốt đối với hầu hết người dùng có vẻ là hỗ trợ tốt hơn cho mã được tối ưu hóa, hỗ trợ cho nhiều ngôn ngữ (chủ yếu ở Dwarf 3), và hỗ trợ cho C++ mới ngôn ngữ xây dựng

+0

Đó chính xác là những gì tôi tìm thấy trong các tài liệu đó, bây giờ tôi tự hỏi nếu có bất kỳ ví dụ thực tế hoặc nếu có bất kỳ nguồn nào mô tả nó từ quan điểm của người dùng. "Cách người dùng có thể xem những gì sẽ thay đổi khi cô ấy chuyển từ DWARF2 sang DWARF4". – CyberGuy

+2

@CyberGuy Chuyển từ 'DWARF2' sang' DWARF4' sẽ tạo ra một nhị phân gỡ lỗi nhỏ hơn đáng kể - đó là thay đổi hiển thị người dùng đầu tiên của bạn ngay tại đó. –

5

Phiên bản đầu tiên của lùn chứng minh sử dụng quá mức Số lượng lưu trữ, DWARF-2, thay thế nó và thêm các lược đồ mã hóa khác nhau để giảm kích thước dữ liệu, sau đó là Phiên bản 4 của DWARF, cung cấp nén dữ liệu được cải thiện, mô tả tốt hơn về mã được tối ưu hóa và hỗ trợ các tính năng ngôn ngữ mới trong C++.

thường phát hành ghi chú hoặc anouncement tóm tắt những khác biệt này (sẽ có nhiều hơn nữa)

http://dwarfstd.org/Announcement.php

http://dwarfstd.org/PressRelease.php

1

Tôi muốn nói thêm rằng không phải tất cả các phiên bản của gdb đúng cách có thể đọc dwarf4. Tôi thường thấy mình biên dịch với -gdwarf-2 chỉ để có thể xem tất cả các biểu tượng. Ví dụ, với gdb 7.2 tôi không thể đọc tất cả các ký hiệu trong một bản dựng Fortran-C hỗn hợp nếu tôi sử dụng dwarf4, trong khi tôi có thể với dwarf2.