директиви препроцесора

Директиви препроцесора (прекомпілера).

Директиви препроцесора виконуються компілятором на стадії попередньої обробки, що передує власне компіляції. Зазвичай вони зводяться до підстановці, заміні або видаленні ділянок тексту з програми, яка подається на вхід компілятора. Директиви препроцесора, записані в модулі, діють тільки в його межах.

Директива #include виробляє пряму текстову підстановку вмісту будь-якого файлу безпосередньо в те місце модуля, де вона була застосована. Існує 2 форми цієї директиви:

#include - в цьому випадку підставляється файл береться з каталогу для зберігання хедер-файлів стандартних бібліотек (шлях до нього прописується в параметрах транслятора). Якщо файл відсутній в цьому каталозі, то препроцесор видає помилку.

#include "my.h" - в цьому випадку підставляється файл береться з поточного каталогу. Якщо файл відсутній в цьому каталозі, то він береться з каталогу для зберігання хедер-файлів стандартних бібліотек. Якщо ж його немає і в цьому каталозі, то препроцесор видає помилку.

Допускається застосування відносних і абсолютних шляхів до файлу (останнє є небажаним, тому що в цьому випадку проект стає труднопереносімим на іншу машину):

Зауважимо, що в даному випадку, в написанні шляху використовується одинарний зворотний слеш, хоча в більшості випадків в C використовується подвійний слеш, тому що комбінація одинарного слеша і подальшого символу означають спецсимвол.

Internet - це сукупність мереж, яка використовує для об'єднання мереж єдиний протокол обміну інформацією TCP / IP. Саме названіеInternet означає "між мереж".

Кожне слово рівень в цій системі називається доменом. Повне доменне ім'я має бути унікальним.

Список доменів першого рівня жорстко закріплений за географічним принципом (eu, ru, fr, cn, us, і т.д.) або за смисловим змістом:

gov - державні установи,

mil - військові установи,

com - комерційні організації,

net - постачальники мережних послуг,

org - безпрібильние організації,

edu - навчальні заклади;

Реєстрація доменів регулюють спеціальні організації, наприклад, ICANN (Internet Corporation for Assigned Names and Numbers). Офіційним реєстратором доменів в нашій країні є РосНИИРОС, або RU-CENTER.

URL (Uniform Resource Locator).

Подальшим розвитком ідеї доменних імен стали URL. URL - це універсальна форма запису місця розташування в мережі (або локально) будь-якого ресурсу (наприклад, файлу), а також визначає протокол доступу до ресурсу.

Простий синтаксис URL:

protocol - тип протоколу доступу (http, https, ftp, file, і т.п.)

path - локальний відносний шлях до ресурсу безпосередньо на сервері.

Протоколи передачі даних.

При передачі даних буде задіяно кілька протоколів різного рівня. Наприклад, при передачі HTTP-запиту, буде використовуватися наступна схема.

Це означає, що HTTP-пакет буде передаватися всередині TCP-пакет, або декількох TCP-пакетів, якщо HTTP-пакет не забереться в один пакет TCP. TCP пакети, в свою чергу буде передавати їх усередині IP-пакетів, а IP - всередині пакетів Ethernet.

Не треба думати, що всі ці вкладення будуть упаковані в один гігантський Ethernet-пакет. Наприклад, максимальний розмір Ethernet-пакета дорівнює 1522 байта (разом зі службовою інформацією), а максимальний розмір IP-пакета - 65535 байт. Тому один IP-пакет буде передаватися за допомогою декількох Ehternet-пакетів, які на приймальній стороні склеются і з результату склеювання можна буде витягти IP-пакет.

Набір протоколів TCP / IP складається з декількох різних протоколів, кожен з яких виконує в мережі певне завдання. Виділяють кілька основних протоколів два: TCP, UDP, IP, але крім них також існує набір з безлічі додаткових протоколів, що підтримують працездатність TCP / IP мереж.

Схожі статті