Soumettre la recherche
Mettre en ligne
Preproc
•
1 j'aime
•
151 vues
B
Bayalagmaa Davaanyam
Suivre
Препроцессорын директивүүд
Lire moins
Lire la suite
Formation
Signaler
Partager
Signaler
Partager
1 sur 26
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Programchlaliin c hel
Programchlaliin c hel
E-Gazarchin Online University
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
Urantuya Purevtseren
5 algorithm
5 algorithm
Turuu Tsogt
u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2
Khuder Altangerel
Lecture 1
Lecture 1
csms_student
Лекц №6
Лекц №6
Amarsaikhan Tuvshinbayar
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
Urantuya Purevtseren
с++ хэл
с++ хэл
Gan-Erdene Myagmar
Recommandé
Programchlaliin c hel
Programchlaliin c hel
E-Gazarchin Online University
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
Urantuya Purevtseren
5 algorithm
5 algorithm
Turuu Tsogt
u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2
Khuder Altangerel
Lecture 1
Lecture 1
csms_student
Лекц №6
Лекц №6
Amarsaikhan Tuvshinbayar
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
Urantuya Purevtseren
с++ хэл
с++ хэл
Gan-Erdene Myagmar
C++
C++
Алдарболд Э.
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
Muuluu
U.cs101 алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
Badral Khurelbaatar
алгоритм 8
алгоритм 8
Баярсайхан Л
Medeelel 10
Medeelel 10
Khishighuu Myanganbuu
Dev c хичээл
Dev c хичээл
Batzaya Dashdondog
C
C
Turuu Tsogt
алгоритмын бодлогууд
алгоритмын бодлогууд
Renchindorj Monkhzul
C cons
C cons
Onon Tuul
U.cs101 алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
Badral Khurelbaatar
программ хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголт
shulam
си хэл 10
си хэл 10
enhsaran_tsahim
Lec1 pragraming language
Lec1 pragraming language
Turuu Tsogt
It101 lecture 7-1
It101 lecture 7-1
Nergui Batjargal
Lecture1
Lecture1
ganzorigb
давталттай алгоритм
давталттай алгоритм
Enkh Gvnj
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
Жавзмаа Ж
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
International Ulaanbaatar University
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
Батбагана Баасанжав
салаалсан алгоритм
салаалсан алгоритм
Burotino Iosifob
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
Urantuya Purevtseren
Лекц №5
Лекц №5
Amarsaikhan Tuvshinbayar
Contenu connexe
Tendances
C++
C++
Алдарболд Э.
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
Muuluu
U.cs101 алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
Badral Khurelbaatar
алгоритм 8
алгоритм 8
Баярсайхан Л
Medeelel 10
Medeelel 10
Khishighuu Myanganbuu
Dev c хичээл
Dev c хичээл
Batzaya Dashdondog
C
C
Turuu Tsogt
алгоритмын бодлогууд
алгоритмын бодлогууд
Renchindorj Monkhzul
C cons
C cons
Onon Tuul
U.cs101 алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
Badral Khurelbaatar
программ хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголт
shulam
си хэл 10
си хэл 10
enhsaran_tsahim
Lec1 pragraming language
Lec1 pragraming language
Turuu Tsogt
It101 lecture 7-1
It101 lecture 7-1
Nergui Batjargal
Lecture1
Lecture1
ganzorigb
давталттай алгоритм
давталттай алгоритм
Enkh Gvnj
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
Жавзмаа Ж
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
International Ulaanbaatar University
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
Батбагана Баасанжав
салаалсан алгоритм
салаалсан алгоритм
Burotino Iosifob
Tendances
(20)
C++
C++
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
U.cs101 алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
алгоритм 8
алгоритм 8
Medeelel 10
Medeelel 10
Dev c хичээл
Dev c хичээл
C
C
алгоритмын бодлогууд
алгоритмын бодлогууд
C cons
C cons
U.cs101 алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
программ хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголт
си хэл 10
си хэл 10
Lec1 pragraming language
Lec1 pragraming language
It101 lecture 7-1
It101 lecture 7-1
Lecture1
Lecture1
давталттай алгоритм
давталттай алгоритм
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
салаалсан алгоритм
салаалсан алгоритм
Similaire à Preproc
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
Urantuya Purevtseren
Лекц №5
Лекц №5
Amarsaikhan Tuvshinbayar
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
Urantuya Purevtseren
си хэлний ойлголт
си хэлний ойлголт
badral_0430
Лекц №14
Лекц №14
Amarsaikhan Tuvshinbayar
Програмчлалын хэл
Програмчлалын хэл
Баярсайхан Л
онол
онол
Баярсайхан Л
For ci
For ci
Khishighuu Myanganbuu
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
Turuu Tsogt
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
Urantuya Purevtseren
лекц2
лекц2
OkoDeegii1
Лекц №9
Лекц №9
Amarsaikhan Tuvshinbayar
C standard library
C standard library
Bayalagmaa Davaanyam
Лекц 1
Лекц 1
Chinzorig Undarmaa
Ci hel
Ci hel
Enkhtuvshin Byambaa
бие даалт
бие даалт
eegii_0824
бие даалт
бие даалт
eegii_0824
Файлын оролт гаралт
Файлын оролт гаралт
Bayalagmaa Davaanyam
лабораторийн ажилUud
лабораторийн ажилUud
Lha Bolorerdene
Its150 l10powerpoint2007
Its150 l10powerpoint2007
orgil
Similaire à Preproc
(20)
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
Лекц №5
Лекц №5
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
си хэлний ойлголт
си хэлний ойлголт
Лекц №14
Лекц №14
Програмчлалын хэл
Програмчлалын хэл
онол
онол
For ci
For ci
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
лекц2
лекц2
Лекц №9
Лекц №9
C standard library
C standard library
Лекц 1
Лекц 1
Ci hel
Ci hel
бие даалт
бие даалт
бие даалт
бие даалт
Файлын оролт гаралт
Файлын оролт гаралт
лабораторийн ажилUud
лабораторийн ажилUud
Its150 l10powerpoint2007
Its150 l10powerpoint2007
Plus de Bayalagmaa Davaanyam
Online applications using strong authentication with OTP grid cards
Online applications using strong authentication with OTP grid cards
Bayalagmaa Davaanyam
otp crid cards
otp crid cards
Bayalagmaa Davaanyam
Social sciences bayalagmaa
Social sciences bayalagmaa
Bayalagmaa Davaanyam
Мэдээлэл технологи ашиглан лекцийн үр дүнг дээшлүүлэх асуудал
Мэдээлэл технологи ашиглан лекцийн үр дүнг дээшлүүлэх асуудал
Bayalagmaa Davaanyam
Мод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчим
Bayalagmaa Davaanyam
Hash function
Hash function
Bayalagmaa Davaanyam
Эрэмбэлэлт хайлтын аргууд
Эрэмбэлэлт хайлтын аргууд
Bayalagmaa Davaanyam
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
Plus de Bayalagmaa Davaanyam
(10)
Online applications using strong authentication with OTP grid cards
Online applications using strong authentication with OTP grid cards
otp crid cards
otp crid cards
Social sciences bayalagmaa
Social sciences bayalagmaa
Мэдээлэл технологи ашиглан лекцийн үр дүнг дээшлүүлэх асуудал
Мэдээлэл технологи ашиглан лекцийн үр дүнг дээшлүүлэх асуудал
Мод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчим
Hash function
Hash function
Эрэмбэлэлт хайлтын аргууд
Эрэмбэлэлт хайлтын аргууд
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Preproc
1.
Пре процессорын директивүүд Lecture 11 Programming Language
2.
Cи++ хэл дээр
програм боловсруулах Си++ хэлэнд програмын эх код нь жирийн текст байдаг гэдгийг дээр дурдсан. Хөрвүүлэгч нь үндсэндээ ийм текстийг машины хэл рүү хөрвүүлж компьютер дээр шууд ажиллахаар хэлбэрт оруулах үүрэгтэй. Энэ процесс нь үнэндээ нилээд нийлмэл процесс бөгөөд үүнийг бид энд нарийвчлан авч үзэх гэж байна. Юуны түрүүнд програмын эх код нь хэд хэдэн текст файлаас бүрдэж болдог. Хөрвүүлэгчээр нэг удаа оруулж болохуйц хэд хэдэн ийм эх файлын нэгдлийг модуль (эсвэл хөрвүүлэлтийн буюу компиляцийн нэгж) гэж нэрлэнэ. Нэг програм хэд хэдэн модультай байж болно.
3.
Cи++ хэл дээр
програм боловсруулах Модуль болгонд үндсэн файл гэж нэрлэгдэх цор ганц файл байх ѐстой бөгөөд энэ файл дотор түүнтэй хөрвүүлэлтийн үед нэгтгэх бусад файлуудыг зааж өгдөг. Энэ нэгтгэгдэж байгаа файлуудыг толгой файлууд гэж нэрлэдэг. Үндсэн файлаас хэдэн ч толгой файлыг дуудан нэгтгэж болно. Үндсэн файл нь ихэвчлэн “.cpp”, “.cc”, эсвэл “.C” өргөлгөлтэй, толгой файл нь ихэвчлэн “.h”, “.hpp”, эсвэл “.H” өргөтгөлтэй, стандарт сангийн толгой файл бол өргөтгөлгүй байдаг.
4.
Cи++ хэл дээр
програм боловсруулах Логикийн хувьд Си хэл дээрх програм олон тооны функц төрлийн дэд програмууд болон өгөгдлүүдээс тогтох ѐстой. Функц нь өгөгдлийг боловсруулах үйлдлүүдийг агуулдаг. Ер нь бол Си хэлэнд процедур төрлийн дэд програм гэж байхгүй. Зөвхөн функц төрлийн дэд програм л тодорхойлогдсон байдаг. Функцуудын дунд main гэсэн нэртэй нэг функц үндсэн програмын үүргийг гүйцэтгэнэ. Энэ функцыг үндсэн функц гэдэг. Үндсэн функц нь ямар ч Си-програмд дандаа оршиж байх ѐстой. Үндсэн функцын нэрийг дураар сонгож болохгүй бөгөөд ямагт main гэсэн нэртэй байна. Програм ажиллаж эхлэхэд хамгийн түрүүнд энэ функц удирдлагыг өөртөө авах бөгөөд бусад функц эндээс дуудагдаж ажиллана
5.
Хамгийн энгийн Си-програм
нь дан ганц main функцээс тогтсон байна. Ийм програмын бүтэц нь: препроцессорын_директивүүд /* препроцессорын командууд */ void main( ) /* үндсэн функцын толгой хэсэг (заавал бичих ёстой!) */ { /* функцын биеийн эхлэл (заавал бичих ёстой!) */ өгөгдлийг_зарлах; /* хувьсагчууд, тогтмолууд г.м. */ биелэгдэх_операторууд; /* үйлдлүүд */ } /* функцын биеийн төгсгөл (заавал бичих ёстой!) */ гэсэн хэлбэртэй.
6.
Cи++ хэл дээр
програм боловсруулах Энэ бүтцийн дагуу хамгийн анхны, хамгийн хялбар жишээ програмыг бичье. програмын текст нь: #include <stdio.h> void main( ) { printf (“Sain uu!n”); /*Дэлгэцэнд “Sain uu!” гэсэн мэндчилгээ гаргана.*/ }
7.
Препроцессор Хамгийн эхний:
#include гэсэн мөр бол препроцессорын директив юм. Тэгэхээр препроцессорын директив гэж юу вэ? Препроцессорын директив гэдэг нь препроцессорыг удирдагч команд юм. Тэгвэл препроцессор гэж юу вэ? Үүнд хариулахын тулд Си хэл бол дээд төвшний програмчлалын хэл гэдгийг санацгаая. Си хэл дээр бичсэн програмыг зөвхөн машины хэл рүү хөрвүүлсний дараа л компьютер биелүүлж чадна. Хөрвүүлэлтийг компилятор(хөрвүүлэгч) хэмээх програм хийдэг:
8.
9.
Тэгвэл препроцессор гэж
юу вэ? Тэгвэл препроцессор гэдэг нь хөрвүүлэгч програмын тусгай бүрдэл хэсэг юм.Препроцессорын үүрэг бол програмын те кстийг (эх кодыг) хөрвүүлэгдэхээс нь өмнө боловсруулах (хувиргах) явдал юм. Ө.х. хөрвүүлэгчийн үндсэн хэсэг ажиллаж эхлэхээс урьтаж препроцессор ажилладаг бөгөөд эх кодыг ямар нэг байдлаар боловсруулдаг байна. Боловсруулагдсан текст нь мөн л Си хэл дээр байх болно. Харин яг яаж боловсруулах вэ гэдгийг нь програм зохиогч өөрөө тодорхой командуудын тусламжтайгаар препроцессорт зааж өгдөг. Эдгээр командыг препроцессорын директивүүд гэнэ.
10.
Препроцессор нь
ажиллаж эхлэнгүүтээ эх кодыг мөр мөрөөр “тандаж”, „#‟ гэсэн тэмдгээр эхлэсэн мөрүүд байгаа эсэхийг хайдаг. Хэрэв ийм мөр тааралдвал түүнийг препроцессорын директив хэмээн ойлгож, энэ директивийн дагуу текстийг хувиргана. Тиймээс препроцессорын директив ямагт „#‟ тэмдгээр эхлэх ѐстой. Түүнчлэн препроцессорын директив нь дангаараа нэг мөр болж байх ѐстой. Эдгээрийг тооцвол препроцессорын директивийг дараах загварын дагуу бичнэ: #директивийн_нэр препроцессорын_лексемүүд Энд: директивийн_нэр – тухайн нэг препроцессорын директивийг төлөөлөх үг препроцессорын_лексемүүд – буюу preprocessing token гэдэг нь тэмдэгт тогтмолууд, файлын нэр, идентификаторууд, үйлдлийн тэмдгүүд, тоонууд, мөр-тогтмолууд, мөн сул зайнаас ялгаатай дурын тэмдэгтүүд байж болно. Тэгвэл препроцессор гэж юу вэ?
11.
Си хэлэнд
дараах директивүүд (директивийн нэрүүд) тодорхойлогдсон байна. Үүнд: Явцын дунд бид эдгээр директивүүдтэй танилцах болно. Тэгвэл препроцессор гэж юу вэ?
12.
#include директив Энэ директив
нь програмын текстэнд өөр файлаас текст оруулж ирж тавих зориулалттай. Директивийг бичих 2 загвар байдаг. Эхнийх нь: #include < файлын_нэр > Хоѐр дахь нь: #include “файлын_нэр“ Энд: файлын_нэр - програм руу оруулах текстийг агуулсан файлын нэр. Препроцессор ийм директивтэй таармагцаа, заасан нэр бүхий файлыг хайж эхлэдэг. Хэрэв файлын нэрийг < > дотор бичсэн байвал хайлтыг програмчлалын системийн стандарт хавтсууд дотор тодорхой дүрмийн дагуу хийнэ. Стандарт хавтсууд гэдэг нь хатуу диск дээр системийн үүсгэж байрласан ерөнхий хавтас доторх дэд хавтсууд юм.
13.
Хэрэв файлын нэрийг
“ “ дотор бичсэн байвал хайлтыг манай програмын файл байрлах тэр хавтсанд (бид програмынхаа текстийг бичээд түүнийгээ тогтмол санах ой буюу хатуу диск дээр файл болгож хадгалах хэрэгтэй биз дээ, сарын дараа дахиад хэрэг болох ч юм бил үү? J) эхлэж хийгээд олдоогүй бол харин стандарт хавтсуудаас үргэжлүүлэн хайж эхлэдэг. Ингээд заасан нэр бүхий файл олдвол түүний дотор агуулагдах бүх текстийг препроцессор нь програмын текст рүү, яг директив байрлах тэр мөрөөс эхлэн оруулж тавьдаг. #include директив
14.
Cи++ хэл дээр
програм боловсруулах Энэ бүтцийн дагуу хамгийн анхны, хамгийн хялбар жишээ програмыг бичье. програмын текст нь: #include <stdio.h> void main( ) { printf (“Sain uu!n”); /*Дэлгэцэнд “Sain uu!” гэсэн мэндчилгээ гаргана.*/ }
15.
Жишээ Манай жишээ програмд
эхний хэлбэрийг ашигласан байгаа: #include <stdio.h> Энд stdio.h гэсэн файлын нэрийг бичжээ. Ө.х. энэ файлын агуулгыг програмд оруулж ирэхээр заасан байна. Тэгвэл энэ ямар учиртай файл вэ? Үүнд хариулахын тулд үндсэн функцын биед буй ганц үйлдлийг харцгаая. Энэ нь: printf (“Sain uu!n”); гэсэн оператор байгаа..Операторыг сайтар харах аваас printf() гэсэн функц ба түүний аргумент болох “Sain uu!n” гэсэн мөр- тогтмолоос бүтсэн нь мэдэгдэнэ. Энэхүү printf() функц бол гаралтын үйлдлийг гүйцэтгэгч стандарт функц бөгөөд аргументэд нь бичсэн өгөгдлийг гаралтын хэрэгсэлд гаргах үүрэгтэй.
16.
Стандарт функц
гэж хэрэглэгчийн зохиогоогүй, урьдчилан тодорхойлогдсон функцыг хэлдэг. Стандарт функц бол Си хэлэнд өөрт нь харьяалагдахгүй, харин Си хэлний стандарт санд харьяалагддаг юм. Стандарт сан гэж олон тооны стандарт функцын цогцыг хэлдэг бөгөөд энэ нь хөрвүүлэгчтэй хамт ирнэ. Тэгвэл хэлэнд өөрт нь үл харьяалагдах ийм стандарт функцыг програмдаа ашиглахын тулд тухайн функцын талаарх тодорхой мэдээллийг програмдаа эхлээд оруулж ирэх хэрэгтэй болдог. Ийм мэдээлэл нь мөнхүү stdio.h гэсэн файл дотор агуулагддаг юм. Энэ нь функцын прототип (prototype) буюу эх загвар хэмээх бичиглэл байдаг. Тиймээс printf() гэсэн стандарт функцыг ашиглахын тулд энэ функцын прототипийг агуулсан stdio.h файлыг програмдаа оруулж ирэх хэрэгтэй юм. #include <stdio.h> гэсэн директив чинь чухам үүнийг л хийгээд байгаа юм . Одоо препроцессор манай жишээ програмын текстийг яаж боловсруулах нь ойлгомжтой болсон байх Жишээ
17.
толгой файл h
өргөтгөлтэй ийм файлыг толгой файл (header file) гэж нэрлэнэ. Толгой файл хэмээн нэрийдсэний учир нь түүнийг ямагт програмын текстийн эхэнд (толгойд) залгаж байх нь зохимжтой гэдгийг зааж байгаа юм. Стандарт сангийн бүх функцын прототипүүд төрөл, зориулалтаараа ангилагдан өөр өөр стандарт толгой файлуудад хуваагдан агуулагдсан байдаг. Олон тооны стандарт толгой файл бий.
18.
толгой файл Ж.нь
Турбо Си++ хөрвүүлэгчтэй хамт ирдэг стандарт файлуудаас дурдвал: · alloc.h – санах ойтой ажиллах · assert.h – програмыг шинжлэх · conio.h – текст горимд оролт, гаралтын төхөөрөмжтэй ажиллах · ctype.h – тэмдэгттэй ажиллах · dos.h – MSDOS үйлдлийн системтэй ажиллах · errno.h – алдаа шалгах · float.h – бодит тоон өгөгдөлтэй ажиллах · graphics.h – график горимд ажиллах · limits.h - бүхэл тоон өгөгдлийн хязгаарын утгууд · math.h – математик тооцоо хийх · mem.h – санах ойтой ажиллах · signal.h – онцгой тохиолдлуудыг шийдвэрлэх · stdarg.h – хувьсах тооны аргументууд бүхий функцтэй ажиллах · stdio.h – оролт, гаралтын хэрэгслүүд · stdlib.h – ерөнхий хэрэглээний функцууд (мөн санах ойтой ажиллах) · string.h – тэмдэгт мөртэй ажиллах · time.h – он, сар, өдөр болон хугацаатай ажиллах Энд дурдаагүй өөр олон файл бий гэдгийг бас сануулъя. Дээрх толгой файлуудын зарим нь ANSI стандартад тодорхойлогдсон бол заримыг нь зөвхөн Турбо Си хөрвүүлэгч өөрөө нэмдэг.
19.
Стандарт функцтэй
ажиллахын тулд стандарт санд хандалт хийх хэрэгтэй. Стандарт санд хандахын тулд тохирох стандарт толгой файлыг оруулах хэрэгтэй. Эс тэгвээс хөрвүүлэгч алдаа заах болно. Түүнчлэн толгой файлын нэрийг буруу бичсэн тохиолдолд хөрвүүлэгч мөн алдаа заах болно. Мөн стандарт толгой файлын нэрийг ямагт < > дотор бичих хэрэгтэй: #include <стандарт_толгой_файлын_нэр> толгой файл
20.
#include <stdio.h> #include <conio.h> void
main( ) { printf (“Sain uu!n”); getch(); } Жишээ
21.
Макро гэж юу
вэ? C++ ийн макро гэдэг нь програмын эх кодуудыг компайл хийх буюу хөрвүүлж байх үед биелдэг хэсэг код юм нэг ѐсондоо хөрвүүлэлт хийхээс өмнө компилятор макронуудыг таньж боловсруулдаг. Өөрөөр хэлбэл макрод тодорхойлсон зүйлсийг эх кодноос хайн сольж тавина. Хэсэг бүлэг кодыг компайл хийх явцад нөхцөлөөс хамаарч ашиглахгүй болгох гэх мэт ашигтай зүйлс их байдаг. Жишээ нь програмыг debug-дах функцүүдыг өргөнөөр ашиглаж байгаад эцсийн програмаа эдгээр debug функцүүдгүйгээр компайлдахыг хүсвэл макродоо зааж өгөөд компайлдахад хангалттай, мөн бас олон платформуудын хувьд хөрвүүлэгдэж ажиллах боломжтой хүчирхэг боломжийг энэ макро олгоно.
22.
Бид бүгд
cryengine-ийг PC ч дэмжинэ, XBOX ч дэмжинэ, PS3 ч дэмжинэ гэх мэтээр онцлогийг хардаг билээ. Тэгвэл тэд яаж кодоо эдгээр олон янзын платформууд дээр нэгэн хэвийн байдлаар ажиллах боломжтойгоор бичсэн байж таарах вэ? Үүний цаана C++ ийн макро хэмээх боломжийн ачаар биеллээ олсон байдаг. Өөрөөр хэлбэл макроны тусламжтайгаар та зөвхөн тухайн платформд ажилладаг код болох толгой файлуудыг тодорхойлон зааж өгөх боломжтой гэсэн үг. Макро гэж юу вэ?
23.
Макрог тодорхолохдоо #define
түлхүүр үгийг ашигладаг. Одоо цөмөөрөө энгийн string тодорхойлсон HELLO макро бичээд ашиглаж үзэцгээе. #define HELLO “Hello RRC members!” #include <iostream> using namespace std; int main(void) { cout<<HELLO<<endl; return 0; } үүнийг main.cpp гэж хадгалаад с++ -o main main.cpp гэж хөрвүүлээд ажиллуулаарай Макро гэж юу вэ?
24.
$./main $Hello RRC members!
гэж хэвлэн үр дүнг харуулна.. Эндээс бид програмын кодыг хөрвүүлэх явцад макрод тодорхойлсон утгыг эх коодонд сольж тавьдаг гэдгийг харж болно. Өөрөөр хэлбэл програмын эх код компайл хийгдээд макронуудыг ажиллуулж дуусах үед код дараах байдалтай болно гэсэн үг #include <iostream> using namespace std; int main(void) { cout<<”Hello RRC members!”<<endl; return 0; } Макро гэж юу вэ?
25.
26.
Асуулт: Асуулт: #include
директив гэж юу вэ? #define директив гэж юу вэ? Define оператор гэж юу вэ? #ifdef, #ifndef директивүүд гэж юу вэ?
Télécharger maintenant