BSS là trình giữ chỗ được xác định trong định dạng có thể thực thi (hoặc ELF) của bạn. Vì vậy, nó không chiếm dung lượng đĩa, nhưng chỉ xác định vùng bộ nhớ nào nên được cấp phát bởi trình liên kết hoặc trình tải.
Thao tác chính xác tùy thuộc vào hệ điều hành. Vì bạn tham khảo ELF, tôi cho rằng nó được sử dụng trong một hệ thống nhúng. Nếu bạn xây dựng cho mã ROMmable, tập tin cmd linker của bạn sẽ ánh xạ BSS vào một vùng địa chỉ tĩnh. Trong trường hợp bạn xây dựng cho một hệ điều hành (nghĩa là Linux), trình tải từ hệ điều hành sẽ thực hiện chuyển vị trí, trong đó nó ánh xạ tất cả các vị trí được đánh dấu là tương đối ở định dạng có thể thực thi đến vị trí vật lý hoặc logic trong bộ nhớ.
Vì bạn đề cập luôn thấy cùng một giá trị, điều này cho biết rằng quá trình này có thể lặp lại cho hệ thống của bạn. Mong đợi để xem thay đổi khi bạn thay đổi tệp liên kết (tức là vùng địa chỉ), thứ tự liên kết (tức là mô-đun sẽ nhận được không gian được chỉ định theo thứ tự khác) hoặc hệ điều hành.
Nếu bạn không sử dụng các giá trị BSS, địa chỉ sẽ vẫn giữ nguyên cho quá trình bạn chạy.
Tôi nhận thấy rằng bạn đã chấp nhận câu trả lời 5 phút sau khi đặt câu hỏi. Bạn sẽ nhận được nhiều câu trả lời hơn nếu bạn để câu trả lời mở trong một thời gian vì mọi người sẽ có động lực hơn để cải thiện câu trả lời. – Adriaan
Cảm ơn gợi ý, tôi chắc chắn sẽ làm như vậy lần sau. – Patrick