Где сегмент текста получал свое имя?

Другие ответили на широкие штрихи вполне прилично, таким образом, я добавлю несколько деталей.

  1. Стек и "куча" не должны быть исключительными. Общая ситуация, в которой у Вас есть больше чем один стек, состоит в том, если у Вас есть больше чем один поток в процессе. В этом случае каждый поток имеет свой собственный стек. У Вас может также быть больше чем одна "куча", например, некоторые конфигурации DLL могут привести к другому DLLs, выделяющему от различной "кучи", который является, почему это обычно - плохая идея освободить память, выделенную другой библиотекой.

  2. В C можно извлечь пользу из выделения переменной длины с помощью alloca, который выделяет на стеке, в противоположность выделению, которое выделяет на "куче". Эта память не переживет Ваш оператор возврата, но это полезно для буфера царапины.

  3. Создание огромного временного буфера в Windows, из которого Вы не используете большую часть из, не является бесплатным. Это вызвано тем, что компилятор генерирует цикл датчика стека, который называют каждый раз, когда Ваша функция вводится, чтобы удостовериться, что стек существует (потому что Windows использует единственную защитную страницу в конце Вашего стека для обнаружения, когда это должно вырастить стек. При доступе к памяти больше чем одна страница от конца стека, Вы откажете). Пример:

void myfunction()
{
   char big[10000000];
   // Do something that only uses for first 1K of big 99% of the time.
}

19
задан gbarry 15 August 2009 в 18:27
поделиться

3 ответа

Из Wictionary :

  1. Письменный отрывок, состоящий из множества глифов, знаков, символов или предложений.
  2. Книга, фолиант или другой набор письменных произведений.
  3. (разговорный) Краткое письменное сообщение, передаваемое между мобильными телефонами; текстовое сообщение SMS.
  4. (вычисления) Данные, которые можно интерпретировать как читаемый человеком текст (часто противопоставляемый двоичным данным).

Я предполагаю, что значение в компьютерных терминах происходит из того факта, что программа - это то, что записывается в компьютер перед запуском программы, в отличие от данных , которые считываются, обрабатываются и затем записываются обратно.

2
ответ дан 30 November 2019 в 04:33
поделиться

Пройдя немного дальше с комментариями №, я нашел отсканированную версию из Руководства по программированию GE-635 , и обнаружил следующее в разделе о макроассемблере:

Макроассемблер GE-625/635 является предоставляется, чтобы дать профессиональные программисты некоторые из удобство компилятора и гибкость ассемблера. [...] параметры вывода позволяют ему получить двоичный текст в перемещаемом, а также абсолютные форматы.

Таким образом, похоже, что использование «двоичного текста» было разговорным языком GE или, возможно, широко используемым термином в то время (помните, что это были дни, когда считыватели карт / перфораторы использовались для большого количества операций ввода-вывода) . Итак, одним из возможных путей является GE, к Multics через GE-645, к Unix через работу Bell Labs над Multics, к Linux.

18
ответ дан 30 November 2019 в 04:33
поделиться

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

3
ответ дан 30 November 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: