Си програмын хэсгүүдтэй танилцъя.
•
Препроцессор
Хамгийн эхний:
#include <stdio.h> гэсэн мөр бол препроцессорын
директив юм. Препроцессорын директив
гэдэг нь препроцессорыг удирдагч команд юм.
препроцессор гэдэг нь Си хэл дээр бичсэн
програмыг зөвхөн машины хэл рүү хөрвүүлсний дараа л компьютер биелүүлж чадна. Хөрвүүлэлтийг
компилятор (хөрвүүлэгч) хэмээх програм хийдэг. Компилятор нь бичсэн программыг хөрвүүлэх үйл ажиллагааг
хийдэг. Хөрвүүлэх гэдэг нь хүнд
ойлгомжтой буюу Си хэл дээр бичигдсэн программыг машинд ойлгомжтой буюу командуудын дараалалд
хөрвүүлэх үйл ажиллагааг хэлнэ.
Эх код--хөрвүүлэгч--объект код
Тэгвэл препроцессор гэдэг нь хөрвүүлэгч програмын тусгай
бүрдэл хэсэг юм. Препроцессорын үүрэг бол програмын текстийг (эх кодыг) хөрвүүлэгдэхээс
нь өмнө боловсруулах (хувиргах) явдал юм. Өөрөөр хэлбэл хөрвүүлэгчийн үндсэн
хэсэг ажиллаж эхлэхээс урьтаж препроцессор ажилладаг бөгөөд эх кодыг ямар нэг
байдлаар боловсруулдаг байна.
Эх код--Препроцессор--боловсруулагдсан текст--хөрвүүлэгч--
объект код
объект код
Яг яаж боловсруулах вэ гэдгийг нь програм зохиогч өөрөө
тодорхой командуудын тусламжтайгаар препроцессорт зааж өгдөг. Эдгээр командыг
препроцессорын директивүүд гэнэ. Препроцессор нь ажиллаж эхлэнгүүтээ эх кодыг мөр
мөрөөр “тандаж”, ‘#’ гэсэн тэмдгээр эхлэсэн мөрүүд байгаа эсэхийг хайдаг. Хэрэв ийм мөр тааралдвал түүнийг
препроцессорын директив хэмээн ойлгож, энэ директивийн дагуу текстийг
хувиргана. Тиймээс препроцессорын
директив ямагт ‘#’ тэмдгээр эхлэх ёстой.
•
#директивийн_нэр препроцессорын_лексемүүд
директивийн_нэр – тухайн нэг препроцессорын
директивийг төлөөлөх үг
препроцессорын_лексемүүд – буюу
preprocessing token гэдэг нь тэмдэгт тогтмолууд, файлын нэр, идентификаторууд, үйлдлийн
тэмдгүүд, тоонууд, мөр-тогтмолууд, мөн сул зайнаас ялгаатай дурын тэмдэгтүүд
байж болно.
Си хэлэнд дараах директивүүд (директивийн нэрүүд)
тодорхойлогдсон байна. Үүнд:
#include
|
#define
|
#undef
|
#if
|
#ifdef
|
#ifndef
|
#else
|
#endif
|
#elif
|
#line
|
#error
|
#pragma
|
•
#include
директив
Энэ директив нь програмын текстэнд өөр файлаас текст
оруулж ирж тавих зориулалттай. Директивийг бичих 2 загвар байдаг. Эхнийх
нь #include < файлын_нэр
> , Хоёр дахь нь:
#include “файлын_нэр“
файлын_нэр - програм руу оруулах текстийг
агуулсан файлын нэр. Препроцессор ийм директивтэй таармагцаа, заасан нэр бүхий
файлыг хайж эхлэдэг. Хэрэв файлын нэрийг
< > дотор бичсэн байвал хайлтыг програмчлалын системийн стандарт хавтсууд
дотор тодорхой дүрмийн дагуу хийнэ. Стандарт хавтсууд гэдэг нь хатуу диск дээр
системийн үүсгэж байрласан ерөнхий хавтас доторх дэд хавтсууд юм. Жишээлбэл Си++ системийн хувьд хатуу диск
дээр C:\TC гэсэн замаар суусан байг гэвэл системийн стандарт хавтсууд нь C:\TC\BGI,
C:\TC\BIN, C:\TC\CLASSLIB, C:\TC\INCLUDE, C:\TC\LIB,
C:\TC\EXAMPLES г.м. хавтсууд байх болно.
Хэрэв файлын нэрийг “ “ дотор бичсэн байвал хайлтыг програмын файл
байрлах тэр хавтсанд эхлэж хийгээд олдоогүй бол харин стандарт хавтсуудаас үргэжлүүлэн
хайж эхлэдэг.