Ví dụ khi tôi có:Sự khác nhau giữa phần .rodata và .rodata.str1.4 trong đầu ra đã biên dịch cho chuỗi ký tự là gì?
const char mesg [] = "Hello World";
nó được đưa trực tiếp vào .rodata
nhưng khi tôi có:
const char* mesg = "Hello World";
nó được đưa trực tiếp vào .rodata.str1.4
sự khác biệt giữa chúng là gì và tại sao chúng ta sử dụng .rodata.str1.4 khi chúng ta sử dụng con trỏ?
Trình biên dịch, phiên bản và lệnh biên dịch nào? –
clang 3.5 đặt cả hai vào '.rodata.str1.1' cho các chuỗi ký tự địa phương,' .data' cho hình cầu, vì vậy tôi không tái tạo hoàn toàn. –