что происходит в текстовом сегменте в макете памяти при выполнении файла? - PullRequest
1 голос
/ 21 апреля 2011

при исключении файла, что происходит в сегменте текста в макете памяти?
код, который выполняется сейчас, появляется в текстовом сегменте?

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 Ответ

4 голосов
/ 21 апреля 2011

Текстовый сегмент содержит весь машинный код программы, а не только код, который в данный момент выполняется в данный момент.Если вы не выполняете необычные расширенные функции, такие как наложения или самоизменяющийся код, текстовый сегмент доступен только для чтения и никогда не изменяется во время работы программы.

...