Файлдардағы мәтіндерді қосу


Файлдан мәтінді қосылу үшін #include директивасы қолданылады.  Оны жазудың үш түрі бар. Олар:

#include <имя_файла>

#include "имя_файла'

#include имя_макроса

Егер файлдың аты үшбұрышты жақшада болса, онда препроцессор файлды стандартты жүйелік каталогтан іздейді. Егер файлдың аты жақшаға алынған болса, онда препроцессор бірінші қолданушының ағымдағы каталогын қарастырады содан кейін барып стандартты жүйелік каталогқа хабарласады.

Выполняя у #include <stdio.h> директивтивасын орындау кезінде препроцессор программаға енгізу-шығару кітапханасымен байланыс құралын қосады. stdio.h файлын іздеу стандартты жүйелік каталогтарда орындалады. 

Келісілген келісім бойынша Һ библеотекалық функциялардың прототипі болатын функцияларға , содай-ақ библеотека компиляторларымен жұмыста қолданылатын типтер мен тұрақтыларды сипаттауларда жазылады.

Бұл файлдарды тақырыптық деп атайды. Программаның тақырыбына кез келген файлдар кіруі мүмкін (стандартты немесе арнайы дайындалған).

Компильятор кітапханасымен жұмыс істеуге арналған тақырыптық файлдардың сипатталуының жиынтығы стандартты тілмен бекітілген:

assert.h

программа диагностикасы

ctype.h

Символдарды түрлендіру және тексеру

errno.h

Қателерді тексеру

float.h

Нақты берілгендермен жұмыс

limits.h

Бүтін санды берілгендердің соңғы мәні

locate.h

Ұлттық ортаны  қолдау

math.h

Математикалық есептеулер

setjump.h

Локальді емес ауысулардың мүмкіндіктері

signal.h

Дербес оқиғаларды өңдеу

stdarg.h

Параметрлар саны айнымалысын қолдау

stddef.h

Қосымша анықтамалар

stdio.h

Кіріс-шығыс ортасы

stlib.h

Жалпы пайдаоану функциялары (жадымен жұмыс)

string.h

Символдар жолымен жұмыс

time.h

Күн мен уақытты анықтау

Әрбір ОЖ-де сәйкес тақырыптық файлды енгізу байланысы үшін графикалық  функция кітапханасы бар. #include <…> директивасын программада қолданғанда ол программаға сәйкес стандарттыы кітапхананы қоспайтынын есте сақтау қажет.

Препроцессорлық өңдеу программаның негізгі мәтіні деңгейінде орындалады. #include директивасы тек қана программаның мәтініне  көрсетілген тақырыптық файлдан жазуды қоюға мүмкіндік береді. Программаға кітапханалық функциялар кодын қосу тек байланысты редактрлеу этабында іске асырылады, яғни программаның машиналық коды алынғанда , компиляциядан кейін.

Қосылған тақырыптық файлдың іс-әрекеті программаның мәтініне  тек бір модуль аралығында ғана, #include директивасы орналасқан жерден мәтіндік файлдың соңына дейін  таралады (және программадағы барлық мәтіндерде).

Стандартты емес тақырыптық файлдар үлкен көлемдегі программаны модульдік өңдегенде тиімді болып табылады. Әр түрлі файлдарда орналасқан модульдер арасындағы байланыс параметрлер көмегімен ғана іске асырылмайды, сонымен қатар бірнеше немесе барлық модульдерде глобальді ішкі обьектілер арқылы жүзеге асады.

Сондай ішкі объектілер(айнымалылар, массивтер және т.б) сипаттамасы және функция прототиптері бір файлда орналасады, олар #include дерективасы көмегімен ішкі объектілер қажет жерлерде барлық модульдерге қосылады. Егер пограммада бірнеше функциялар қолданылса, онда олардың әрбіреуінің мәтінін жеке файлда сақтаған ыңғайлы. Программады бір модуль түрінде дайындағанда программист #include "…" командасының көмегімен оған барлық функциялардың мәтіндерін қосады.