#define START_GOT \
.section ".got2","aw";\
.LCTOC1 = .+32768
.LCTOC1 เป็นคำสั่งหรือไม่ ทำไมถึงมี . ก่อน +32768?
#define START_GOT \
.section ".got2","aw";\
.LCTOC1 = .+32768
.LCTOC1 เป็นคำสั่งหรือไม่ ทำไมถึงมี . ก่อน +32768?
.
(จุด) คือสัญลักษณ์พิเศษที่แสดงถึงตำแหน่งปัจจุบัน เส้นกำลังประกอบเข้า
ดังนั้น นิพจน์ .+32768
หมายถึง "32 KB จากที่นี่" และค่านั้นจะได้รับชื่อเชิงสัญลักษณ์ .LCTOC1
โปรดทราบว่าคำสั่ง .section
ซึ่งอยู่ในคำจำกัดความของมาโครอาจเปลี่ยนค่าของ .
เช่น ตำแหน่งปัจจุบันนับตั้งแต่เริ่มส่วนใหม่ที่เรียกว่า .got2
อาร์กิวเมนต์ "aw"
หมายถึง "สามารถเขียนได้" (โดยละเว้น a
)
.LCTOC1
เป็น (ที่อยู่ปัจจุบัน) + 32768
- person Jeremy Kerr; 07.04.2015