![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная / Каталог блогов / Cтраница блогера Форекс и я. Forex - это просто! Вся информация как заработать на / Запись в блоге
![]()
Препроцессор — Учимся программировать на языке MQL42012-05-08 23:41:00 (читать в оригинале)
Препроцессор. Что такое препроцессор? Препроцессор — это программа, обеспечивающая предварительную обработку кода для его подготовки к компиляции.Например, если Вы используете директиву #include Например: Код: #define my_constant 100 Как Вы можете заметить в приведённом примере нет символа присваивания «=», а есть только пробел между именем константы (my_constant) и её значением (100).И также Вы должны были заметить, что строчка не закончилась точкой с звпятой — она закончилась символом перехода на новую строку. Имена констант подчиняются тем же правилам, что и имена переменных (см. предыдущий пост), например нельзя начинать имя константы с цифры, и его длина не должна превышать 31 символ. Значение константы может быть любым. Препроцессор просто заменит Вашу константу на её значение везде, где повстречает её в коде. Да именно так —заменит одни символы (имя константы) на другие (её значение). И всё это произойдёт до компиляции, поэтому компилятор даже не заметит, что у Вас была какая-то константа. Так что, Вашу константу можно применить, например так: Код: um = constant1 * 10; 2 — директива propertyВ MQL4 существуют заранее подготовленные переменные, называемые «Управляющие Компляцией», значения которых можно изменять для своей программы. Для этого используется директива property — она говорит препроцессору, как настроить Ваш исполняемый файл *.ex4 . Пример: Код: #property link "http://www.MYSITE.com" #property copyright "FreeWare" Список предопределённых переменных MQL4: ![]() Использование директивы include равносильно копированию всего содержимого подключаемого файла к себе в программу, в то место, где стоит эта директива. Ctrl+C -> Ctrl+V — только за Вас это делает препроцессор. Пример: Код: #include Внимание: Есть два различных способа указания пути к файлу. - Можно указать имя файла в угольных скобках - Можно указать имя файла в кавычках «win32.h» — тогда препроцессор будет искать этот файл в текущей директории — в той, где будет лежать Ваш код. Если Ваш код и искомый файл лежат в разных местах, то можно указать полный путь к файлу — это тоже делается с помощью кавычек: «F:My_folderMy_include_filesHello.h» . Директиву include можно вставить в любую часть кода, но обычно это делается в самом начале. Подсказка: Хорошей практикой является размещение часто употребляемого Вами кода в отдельном файле, для его дальнейшего подключения в свои программы. (просто совет). 4 — директива import Это как директива include, но есть различия. Директива import используется только для подключения исполняемых файлов MQL4 (*.ex4) и динамических библиотек (*.dll), чтобы импортировать их функции в Вашу программу. Например: Код: #import "user32.dll" int MessageBoxA(int hWnd,string lpText,string lpCaption, int uType); int MessageBoxExA(int hWnd,string lpText,string lpCaption, int uType,int wLanguageId); #import "melib.ex4" #import "gdi32.dll" int GetDC(int hWnd); int ReleaseDC(int hWnd,int hDC); #import Когда Вы импортируете функции из файла *.ex4 нет необходимости их объявлять.Когда Вы импортируете функции из файла *.dll необходимо объявлять функции, чтобы они были готовы к использованию. Пример объявления функции: Код: int MessageBoxA(int hWnd,string lpText,string lpCaption, int uType); Импорт функций начинается со строчки #include «имя файла» (или в угольных скобках).Импорт йункций заканчивается строчкой #include . Как говорит один знакомый информатик: «препроцессор помогает избежать работы обезьянкой». Этим всё сказано!!!
|
![]() ![]()
Категория «Новости»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...

BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.