Bağlayıcı Araçları Hatası LNK2004
gp relative fixup overflow to 'target'; 'section' kısa bölümü çok büyük veya aralık dışında.
Bölüm çok büyük.
Bu hatayı çözmek için, #pragma section(".sectionname", read, write, long) aracılığıyla verileri uzun bölümlere açıkça koyarak ve veri tanımları ve bildirimleri üzerinde kullanarak __declspec(allocate(".sectionname"))
kısa bölümün boyutunu küçültün. Örneğin,
#pragma section(".data$mylong", read, write, long)
__declspec(allocate(".data$mylong"))
char rg0[1] = { 1 };
char rg1[2] = { 1 };
char rg2[4] = { 1 };
char rg3[8] = { 1 };
char rg4[16] = { 1 };
char rg5[32] = { 1 };
Ayrıca mantıksal olarak gruplandırılmış verileri, derleyicinin uzun bir veri bölümünde ayıracağı 8 bayttan büyük bir veri koleksiyonu olacak kendi yapısına taşıyabilirsiniz. Örneğin,
// from this...
int w1 = 23;
int w2 = 46;
int w3 = 23*3;
int w4 = 23*4;
// to this...
struct X {
int w1;
int w2;
int w3;
int w4;
} x = { 23, 23*2, 23*3, 23*4 };
Bu hatayı önemli hata LNK1165
izler.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin