2012-04-12 34 views
9

Thỉnh thoảng tôi nhận thư viện từ các nhóm thiết kế khác nhau. Một sử dụng gcc 3.x và một sử dụng gcc 4.x. Làm thế nào tôi có thể xác định xem hai thư viện này có tương thích không? Tôi biết nó là một cái gì đó với libstdC++, nhưng bạn có thể vui lòng cho tôi một câu trả lời rõ ràng?Cách xác định xem hai phiên bản gcc khác nhau có tương thích không?

+0

Thêm thẻ C để hiển thị nhiều hơn và nó có liên quan ngay cả trong lập trình C –

+0

http://stackoverflow.com/questions/2387040/how-to-retrieve-the-gcc-version-used-to- biên dịch-a-cho-elf-thi hành –

Trả lời

1

Đây là một điểm khởi đầu tốt

http://gcc.gnu.org/onlinedocs/gcc/Compatibility.html

Bài viết này thảo luận về khả năng tương thích nhị phân (nó có thể áp dụng đối với các thư viện quá) giữa các công cụ khác nhau. Điều này vẫn còn tốt khi các công cụ khác nhau là các phiên bản khác nhau của gcc. Một điều quan trọng cần kiểm tra là sự tương thích giao diện nhị phân ứng dụng (ABI).

Và điều này SO post nói rằng vì GCC 3.4.0 ABI tương thích về phía trước. I E. một thư viện được thực hiện bằng cách sử dụng một phiên bản cũ hơn có thể được liên kết với một phiên bản mới hơn và nó sẽ hoạt động.

+1

Tại sao downvote? –

0

lệnh này có thể làm cho một chút giúp đỡ:

dây - YourProgram | grep GCC

Các vấn đề liên quan