Что происходит в текстовом сегменте в макете памяти при выполнении файла?
При исключении файла, что происходит в сегменте текста в макете памяти?
код, который выполняется сейчас, появляется в текстовом сегменте?
int A;
int myarray[40] = {1,2,3,4};
int f1(int i)
{
int j = 5;
int *p;
j += i;
p = malloc(sizeof(int));
return j;
}
void main(){
int k;
k = 5;
A = f1(k+5);
}
1 ответ
Решение
Текстовый сегмент содержит весь машинный код программы, а не только код, который в данный момент выполняется в данный момент. Если вы не выполняете необычные расширенные функции, такие как наложения или самоизменяющийся код, текстовый сегмент доступен только для чтения и никогда не изменяется во время работы программы.