- •Предисловие.
- •1. Введение.
- •2. Количество информации.
- •2.1. Формула хартли.
- •2.2. Формула шеннона.
- •2.3. Свойства энтропии.
- •2.4. Энтропия в информатике и физике.
- •2.5. Вероятностный и объемный подходы к измерению количества информации.
- •2.6. Различные аспекты анализа информации.
- •3. Принципы кодирования и декодирования информации.
- •3.1. Буква (знак, символ). Алфавит.
- •3.2. Кодировщик и декодировщик.
- •3.3. Международные системы байтового кодирования.
- •3.4. Помехоустойчивое кодирование информации.
- •4. Передача информации.
- •4.1. Из истории развития передачи информации.
- •4.2 . Общая схема передачи информации.
- •4.3. Теорема котельникова.
- •4.4.Информационная емкость дискретного сигнала (сообщения). Формула шеннона.
- •4.5. Предельная скорость передачи информации по шеннону. Формула хартли - шеннона.
- •4.6. Теорема шеннона для дискретного канала с помехами.
- •5. Дискретные двоичные (бинарные) сигналы.
- •5.1. Регенерация двоичных сигналов.
- •5.2. Помехозащищенность двоичных сигналов.
- •5.3. Кодирование двоичных сигналов.
- •6. Аналоговые и дискретные процессы.
- •6.1. Аналоговые и дискретные сигналы.
- •6.2. Измерение отношения сигнал – шум.
- •6.3. Дискретизация и кодирование аналогового сигнала.
- •7. Цифровая телефонная связь.
- •8. Цифровая телеграфная связь.
- •9. Цифровое телевидение.
- •10. Системы передачи информации
- •10.1. Параметры радиосигналов.
- •10.2. Многоканальные линии связи. Уплотнение информации.
- •11. Оптоволоконная связь.
- •11.1. Из истории кабельной связи.
- •11.2. Принцип оптоволоконной связи.
- •12. Локальные сети.
- •12.1. Аппаратные средства.
- •12.2. Конфигурация локальных сетей.
- •12.3. Организация обмена информацией.
- •13. Спутниковая связь.
- •13.1. Общая характеристика спутниковой связи.
- •13.2. Принципы спутниковой связи.
- •14. Системы счисления.
- •14.1. Непозиционные системы счисления.
- •14.2. Позиционные системы счисления.
- •14.3. Перевод чисел из десятичной системы в другую систему.
- •14.4. Перевод чисел в десятичную систему из других систем.
- •14.5. Взаимные преобразования двоичных, восьмеричных и шестнадцатеричных чисел.
- •14.6. Двоично-десятичная система.
- •15. Языки программирования.
- •15.1. Языки программирования. Общая характеристика.
- •15.2. Язык программирования си. История создания. Общая характеристика.
- •15.3. Язык программирования си. Процесс создания исполняемого файла.
- •15.4. Язык программирования си. Распределение памяти программы.
- •15.5. Язык программирования си. Основные понятия.
- •15.6. Язык программирования си. Данные.
- •15.7. Язык программирования си. Структура простой программы.
- •Приложение 1. Система семибитного кодирования.
- •Приложение 2. Модифицированная альтернативная кодировка.
- •Приложение 3: клод элвуд шеннон.
- •Литература.
- •Оглавление.
15.3. Язык программирования си. Процесс создания исполняемого файла.
-
Исходный файл (текст программы на языке программирования Си) создается в редакторе системы программирования, например Borland C++.
-
Расширенный исходный файл получается на этапе, предшествующем компиляции исходного файла, с помощью программы препроцессор (входит в компилятор). На входе препроцессора – исходный текст с директивами препроцессора (отмечены в исходном тексте символом #). На выходе – расширенный исходный файл, полученный в результате выполнения директив. В частности, препроцессор подключает к исходному файлу заголовочные файлы (имеют традиционно расширение .h), в которых содержатся константы функций, шаблоны структур, программные интерфейсы (прототипы) функций. Заголовочные файлы, входящие в стандарты языка Си, называются стандартными заголовочными файлами. Названия их являются зарезервированными именами (т.е. могут использоваться только для обозначения этих файлов). В конкретных компиляторах могут быть дополнительные заголовочные файлы. Кроме того, для связи с графическими функциями используются соответствующие графические заголовочные файлы.
-
Объектный файл получается на этапе компиляции расширенного исходного файла с помощью программы компилятор. Он содержит двоичные машинные инструкции (объектные коды).
-
Исполняемый файл (загрузочный модуль) получается на этапе компоновки объектных файлов с помощью программы линкер (редактор связи, компоновщик). Он содержит не только код объектного файла, но и коды подпрограмм из библиотечных файлов. Исполняемый файл готов к выполнению центральным процессором ЭВМ.
ПРОЦЕСС СОЗДАНИЯ ИСПОЛНЯЕМОГО ФАЙЛА.
|
|
ПРОГРАММЫ, |
ФАЙЛЫ |
|
ОБРАБАТЫВАЮЩИЕ ФАЙЛЫ |
ИСХОДНЫЙ ФАЙЛ f.c (язык Си) |
ОБРАБАТЫВАЕТ |
ПРЕПРОЦЕССОР |
|
|
|
РАСШИРЕННЫЙ ИСХОДНЫЙ ФАЙЛ (язык Си) |
ОБРАБАТЫВАЕТ |
КОМПИЛЯТОР |
|
|
|
ОБЪЕКТНЫЙ ФАЙЛ f.obj (язык двоичных кодов) |
ОБРАБАТЫВАЕТ |
ЛИНКЕР (РЕДАКТОР СВЯЗЕЙ, КОМПОНОВЩИК) |
|
|
|
ИСПОЛНЯЕМЫЙ ФАЙЛ (ЗАГРУЗОЧНЫЙ МОДУЛЬ) f.exe (язык двоичных кодов) |
|
|
15.4. Язык программирования си. Распределение памяти программы.
Скомпилированная программа Си имеет четыре логически обособленные области памяти:
область стека для хранения переменных (адресов возврата функций, аргументов функций, локальных переменных и др.) |
область динамически распределяемой памяти (куча) |
область глобальных переменных |
область исполняемого кода программы |