Синтаксис
IncludeFile "имя файла"
XIncludeFile "имя файла"
Описание
Директива IncludeFile служит для включения в текущий текст программы, исходных текстов (программ на языке PureBasic) хранящихся во внешних файлах, с момента своего объявления. Обычно этой возможностью пользуются для подключения библиотек пользовательских процедур. Директива XIncludeFile служит той же самой цели, однако, исключает возможность многоразового подключения одинаковых файлов.
Например :
XInclude "Sources\myfile.pb" ; Этот файл будет подключен однажды. XInclude "Sources\myfile.pb" ; И проигнорирован в следующий раз.
Синтаксис
IncludeBinary "имя файла"
Описание
Директива IncludeBinary служит для включения в текущий текст программы, любого рода данных хранящихся во внешних файлах, с момента своего объявления. Обычно этой возможностью пользуются для подключения произвольных структур, текстовых массивов и различных мультимедийных данных.
Например :
IncludeBinary "Data\map.data"
Синтаксис
IncludePath "путь"
Описание:
Директива IncludePath служит для указания пути, который будет использован для поиска подключаемых файлов. Такая возможность может оказаться очень полезной, в тех случаях, когда имеется несколько директорий содержащих множество файлов, которые необходимо подключить.
Например :
IncludePath "Sources\Data" IncludeFile "Sprite.pb" XIncludeFile "Music.pb"
Синтаксис
CompilerIf <выражение> ... [CompilerElse] ... CompilerEndIf
Описание
Директива CompilerIf служит для создания приложений поддерживающих различные операционные системы. Если <выражение> оказывается верным, то компилируется код, включённый в тело конструкции, в противном случае игнорируется. Таким образом, можно писать программы содержащие код специфичный для различных операционных систем и наиболее оптимально отвечающий особенностям каждой из них.
Например :
CompilerIf #OS = #Linux ; некоторый код специфичный для Linux.. CompilerEndIf
Синтаксис
CompilerSelect <выражение> CompilerCase ... [CompilerElse] ... [CompilerDefault] ... CompilerEndSelect
Описание
Директива CompilerSelect аналогична конструкции 'Select : EndSelect', но служит для управления компиляцией групп операторов. При исполнении этой директивы, скомпилированы будут только те группы, чьё выражение удовлетворяет выражению директивы. Таким образом, можно объединить в одной директиве, различный код зависящий от условий выполнения программы (например, различные операционные системы). Разумеется, контекст применения этой директивы значительно более широк.
Например :
CompilerSelect #OS CompilerCase #AmigaOS ; некоторый код специфичный для AmigaOS CompilerCase #Linux
; некоторый код специфичный для Linux CompilerEndSelect
Язык PureBasic позволяет программисту использовать любые мнемоники ассемблера линейки Motorola 68k (поддерживаются инструкции FPU и MMU), в версиях компилятора для AmigaOS, и любые мнемоники x86 (поддерживаются FPU one и MMX), в версиях компилятора для Linux и Windows. Помимо этого, можно непосредственно обращаться к любым переменным и указателям из ассемблерных мнемоник. Синтаксис ассемблерных включений соответствует PhxAss в случае AmigaOS, и NAsm, в случае Linux и Windows. Для получения более подробной информации относительно синтаксиса, рекомендуется обратиться к документации поставляемой с названными программами.
Вот несколько правил, которым Вы должны следовать, если захотите воспользоваться ассемблерными включениями:
Используемые переменные и указатели, должны быть объявлены в программе до их использования в мнемониках ассемблера.
Например :
movea.l pМояМетка,a1 ... МояМетка:
Пример ассемблерного включения :
movem.l d0-d7/a0-a6,-a7 movea.l $4,a6 moveq.l #39,d0 lea.l pExecName,a1 jsr -56(a6) movem.l +a7,d0-d7/a0-a6