Tôi nhận thấy rằng khi tôi liên kết một tệp thực thi với một thư viện tĩnh (.a), các ký hiệu từ thư viện tĩnh sẽ được xuất ra bởi tệp thi hành. Tôi muốn tránh điều này và không xuất khẩu gì cả.Tránh xuất khẩu các ký hiệu từ các tập tin thực thi trên Linux
Tôi đã thử cung cấp tập lệnh phiên bản, nhưng dường như không có sự khác biệt. Nội dung của tập lệnh phiên bản của tôi như sau:
{
global:
main;
local:
*;
};
Có cách nào để không xuất ký hiệu từ tệp thực thi khi liên kết trong thư viện tĩnh không? Tôi không thể biên dịch lại thư viện tĩnh.
Có vẻ như gcc 4.8.2 (trên Linux vòm) xuất hiện tên chức năng exec theo mặc định, sự kiện if -fvisibility = hidden được sử dụng. Và chỉ thêm -s để linker loại bỏ các biểu tượng. – aisbaa