Подскажите пожалуйста куда vs2003 поместит строку "test\n" из printf("test\n");
vs6 помещает в сегмент данных а где размещает vs2003 ?
Вопрос возник тк использую протектор который жмет сегмент данных
vs6 строки становяться невидимыми
vs2003 после протектора строки попрежнему можно увидеть в читаемом виде в dll, если переписываю
char m1[] = "test\n";
printf(m1);
то строка становиться невидимой те компилятор поместил ее в сегмент данных, а где она тогда была в версии printf("test\n"); ?
Здравствуйте, <Аноним>, Вы писали:
А>Подскажите пожалуйста куда vs2003 поместит строку "test\n" из printf("test\n");
А>vs6 помещает в сегмент данных а где размещает vs2003 ?
Он млжет помещать её как в сегмент данных, так и в сегмент кода, в зависимости от настройки проекта
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста куда vs2003 поместит строку "test\n" из printf("test\n");
А>vs6 помещает в сегмент данных а где размещает vs2003 ?
Зависит от его прихоти
А>Вопрос возник тк использую протектор который жмет сегмент данных
А>vs6 строки становяться невидимыми
А>vs2003 после протектора строки попрежнему можно увидеть в читаемом виде в dll, если переписываю
попробуй это:
C/C++->Code Generation->Enable String Pooling:Yes
Ключ для компилятора
/GF
Авось он их всегда в сегмент данных будет вставлять...
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]