в masm32 это бы выглядело так: .const var db 123 как оформить то же самое на с++, чтобы данные были в секции констант в ехе файле ?
static char var = 123 или объявить var как глобальную переменную еще для VC есть #pragma data_seg("") см. в MSDN
nobodyzzz Любой нормальный компилятор поместит такую переменную в .DATA, а не в .CONST. VC может помещать константы в .RDATA.
С каких это пор static стал константой? const char var = 123 объявляет константу, а где расположит - зависит от реализации компилятора, имхо.
А что за секция такая .const? первый раз слышу. может просто написать // ... #pragma comment(linker, "/MERGE:.data=.const") // ... const int Alpha = 123; // ...
Pele const static char var = 0x666; указывая static в данном случае задаем область видимости переменной. В пределах одного модуля.
это линкер(link.exe by MS) хитрит на самом деле. Просто он объединяет [merge] const данные c импортом.
asmfan Есть rdata - константы. Есть idata - импорт. Есть ещё edata - экспорт. MS link.exe обьединяет все 3 в одну секцию. IceStudent Лоадер в неё всё равно ухитрится записать.