Изменения

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
2496 байт добавлено ,  11:46, 14 ноября 2015
Строка 81: Строка 81:  
#define FLAG3 (1<<2)
 
#define FLAG3 (1<<2)
   −
===Special Macros===
+
===Специальные макросы===
 
  −
There are a few macros with special meanings. These are described in the following sections.
      +
Есть несколько макросов, имеющих определённые специальные значения.
    
====FILE_DIR====
 
====FILE_DIR====
   −
The FILE_DIR macro defines the search path for resource files (i.e. files in single quotes). Unlike most macros, it may be defined multiple times in a cumulative fashion. Subsequent definitions simply add to the list of paths to search.
+
Макрос FILE_DIR - определяет поисковый путь для ресурс-паков, включённых в ваш проект. Может быть использван(переопределён) многократно, каждый новый заданный путь просто будет добавлен в другим путям поискам.
 +
<!--macro defines the search path for resource files (i.e. files in single quotes). Unlike most macros, it may be defined multiple times in a cumulative fashion. Subsequent definitions simply add to the list of paths to search.-->
    
#define FILE_DIR Path
 
#define FILE_DIR Path
Path is the location of resource files.
+
Path - путь к ресурс-пакам.
By using this macro, you can avoid entering the full path to resource files but can instead just enter the name of the file and let the compiler find it for you. Of course this would lead to confusion if the files in all the specified locations do not have unique names. If that happens, the first one found will be used.
+
Используя данный макрос, вы сможете сократить пути поиска ваших ресурсов компилятором. Просто заранее введите возможные пути расположения файлов, и в дальнейшем набирайте только имя искомого файла(ресурс-пака).
 +
<!--By using this macro, you can avoid entering the full path to resource files but can instead just enter the name of the file and let the compiler find it for you. Of course this would lead to confusion if the files in all the specified locations do not have unique names. If that happens, the first one found will be used.-->
   −
The following example is a typical case. It simply defines two directories--one for icons and one for sounds.
+
Как пример - задание макросов для поиска спрайтов(icons) и звуков(sounds):
    
#define FILE_DIR icons
 
#define FILE_DIR icons
Строка 101: Строка 102:  
====DEBUG====
 
====DEBUG====
   −
The DEBUG macro enables the inclusion of extra debugging information in the dmb file. This makes the file bigger and will result in very slightly slower execution of procedures. However, the advantage is that when a proc crashes, it will tell you the source file and line number where the problem occurred. Without the extra debugging information, only the name of the procedure is reported.
+
Макрос DEBUG включает добавление дополнительной информации в файл .dmb ,что плохо сказывается на скорости исполнения процедур кода, но построчно записывает информацию о выполнении всего кодового файла - в том числе где возникают ошибки, баги и отчего крашится код.
 +
<!--macro enables the inclusion of extra debugging information in the dmb file. This makes the file bigger and will result in very slightly slower execution of procedures. However, the advantage is that when a proc crashes, it will tell you the source file and line number where the problem occurred. Without the extra debugging information, only the name of the procedure is reported.-->
    
#define DEBUG
 
#define DEBUG
It doesn't matter if you give DEBUG a value or not. Just defining it turns on debugging mode.
+
Просто добавьте эту строчку в ваш код, и режим Debug будет включен.
       
====__FILE__====
 
====__FILE__====
   −
The __FILE__ macro is replaced by a text string containing the name of the current source file. This may be useful when generating debugging error messages.
+
Макрос __FILE__ показывает файл в котором распологается исполняемый в данный момент код. Полезный макрос для создания Debug-сообщений.
 +
<!--macro is replaced by a text string containing the name of the current source file. This may be useful when generating debugging error messages.-->
       
====__LINE__====
 
====__LINE__====
   −
The __LINE__ macro is replaced by the number of the current source line being read. This too may be useful when generating debugging error messages. The following example demonstrates this.
+
Макрос __LINE__ показывает строчку кода, которая исполняется в данный момент. Тоже полезен для выведения Debug-сообщений. Вот пример:
 +
<!--macro is replaced by the number of the current source line being read. This too may be useful when generating debugging error messages. The following example demonstrates this.-->
    
proc/MyProc()
 
proc/MyProc()
   //blah blah
+
   //Сейчас крашнется.
    
   world.log << "[__FILE__]:[__LINE__]: We got this far!"
 
   world.log << "[__FILE__]:[__LINE__]: We got this far!"
   −
   //blah blah
+
   //Нет? Странно...
    
====DM_VERSION====
 
====DM_VERSION====
   −
The DM_VERSION macro is the version number of the compiler (217 at the time I am writing). This could be used by library writers when the code requires new language features that were not available before a certain version or if the syntax changed in some way. By using conditional compilation or the #error command, one could make the library code adapt to earlier versions of the compiler just in case someone tries to use one.
+
Макрос DM_VERSION показывает номер версии вашего компилятора. Используется для определения устаревшей версии кода, и замены некоторых операторов на новые.
 +
<!--macro is the version number of the compiler (217 at the time I am writing). This could be used by library writers when the code requires new language features that were not available before a certain version or if the syntax changed in some way. By using conditional compilation or the #error command, one could make the library code adapt to earlier versions of the compiler just in case someone tries to use one.-->
       
===#undef===
 
===#undef===
   −
The #undef command removes a macro. In the code that follows, the macro will no longer be substituted. This could be used at the end of library files to prevent any macros that are used internally from taking effect in the code that includes them.
+
Макрос #undef убирает заранее заданный макрос. Его можно расположить после исполненного макроса для переназначения значений, а также в конце кодового файла, чтобы данный макрос не перешёл на исполнение в другие файлы.
 +
<!--command removes a macro. In the code that follows, the macro will no longer be substituted. This could be used at the end of library files to prevent any macros that are used internally from taking effect in the code that includes them.-->
     
470

правок

Навигация