Глоссарий
 
Краткие определения и объяснения слов и фраз, используемых в руководстве FreeBASIC.

Индекс: A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z

A


access rights  (Права доступа)
Уровень доступа связанный с элементами Type или Class. Public элементы доступны из любого кода; protected элементы доступны для элементов функций и любых производных от Type или Class элементов функций; private элементы доступны только членов функций данного Type или Class. По умолчанию,элементы Type имеют public права доступа, а элементы Class private.

any pointer
Переменная или выражение, которое указывает на неопределенный адрес памяти , по крайней мере с точки зрения компилятора неизвестно какой тип данных хранится по этому адресу. В языке C это void pointer или (void *). Смотрите Ptr.

archive (архив)
Архив представляет собой группу файлов или один файл упакованные в формат контейнера и, как правило сжатые до или после этого. Типичные форматы контейнера GNU Tar и Zip. Типичные форматы сжатия Gzip и Zip.

argument (аргумент)
Данные, передаваемые в процедуру. Процедура относится к этим данным, используя параметр (ы) в списке параметров.

argument passing convention (способ передачи аргументов)
Метод, с помощью которого аргументы передаются в процедуру, то есть либо по ссылке либо по значению. Смотрите Передача аргументов в процедуру.

array (container)  (массив (контейнер))
Хранилище данных, элементы которого хранятся непрерывно в памяти (один за другим, в порядке возрастания). Из-за этого, массив предлагает произвольный доступ к его элементам (к любому элементу можно получить доступ в любое время). Вставка или удаление элементов возможны, но только в конец массива и исключительно для динамических массивов с переопределением памяти. Так что лучше для вставки и удаления использовать связанные списки вместо массивов.

assembler (ассемблер)
Компонент в цепи утилит компилятора, который используется при создании исполняемого файла. Ассемблер преобразует низкоуровневые инструкции (мнемоники) в объектный код.

assignment  (Присваивание)
Присваивание является одной из основных операций вычислений. Ее основное назначение - копирование значения в ячейку памяти, на которую указывает переменная. Значение может быть буквальным или другой переменной или результатом некоторого выражения. Для экземпляра Type или Class, это предполагает вызов одного из своих операторов присваивания. Не следует путать с инициализацией.

automatic storage (автоматическое хранение)
Ссылка на хранение в стеке. Для локальных переменных процедур, объектов и массивов с автоматической системой хранения данных,  память выделяется тогда, когда процедура вызывается. Инициализация проходит при определении. Уничтожение(в случае объектов) при выходе из области видимости, в случае же переменных и массивов память освобождается при выходе из процедуры.

automatic variable/object/array (автоматические переменные/объекты/массивы)
Переменные, объекты или массивы с automatic storage.

К началу страницы


B


byref
ByRef указывает передачу аргументов в процедуру по ссылке. Аргументы, передаваемые по ссылке могут быть изменены в процедуре.

byval
ByVal указывает передачу аргументов в процедуру по значению. Процедуры получают копию аргумента. С Type или Class это предполагает создание экземпляров временных объектов, вызывая их копию конструктора. Эти временные объекты уничтожаются после выхода из процедуры.

binaries  (бинарные файлы)
Бинарные файлы являются конечным результатом исходного кода. Бинарные файлы включают исполняемые файлы (.exe на windows), статические библиотечные файлы (.a), динамические файлы библиотек (.dll на windows, .so на Linux), и объектные файлы (.o)

.BSS section (.BSS секция)
Часть исполняемой программы, которая будет содержать нулевые байты при запуске программы. Так как все байты равны нулю, конечный размер исполняемого часто может быть уменьшен путем размещения неинициализированных данных, или инициализированные данные нулями в этом разделе.

buffer  (буфер)
Область памяти, которая позволяет сохранять и управлять данными, прежде чем они могут быть скопированы в любое другое место. В коммуникационном устройстве буфер может сохранять поступающие или отправляемые данные перед обработкой. В графике буфер может содержать изображение перед копированием на экран.

К началу страницы


C


call back (обратный вызов)
Механизм управления где вызываемая процедура может быть вызвана другой процедурой (обратный вызов) обычно через указатель на функцию.

call stack (стек вызова)
Участок памяти, зарезервированный для процесса или потока, который используется в качестве стека для хранения различной информации, необходимой процедурам, когда они вызываются. Среди информации, хранящейся в стеке вызовов находятся все локальные автоматические переменные, объекты и массивы данных и обычно все параметры передаются по порядку. Для всех их выделяется память (PUSH), когда процедура вызывается и освобождается память(POP), когда происходит возврат из процедуры. Начальные и максимальные размеры этой зарезервированной памяти зависят от платформы.

caller
Неправильное имя , используемое для обозначения точки в коде, из которой процедура вызывается.

cast (приведение типов)
Операция приведения типов, меняет один тип данных на другой, используя особые правила. Структура Type может приводиться с помощью Cast в любой тип данных. Смотрите Cast.

code block (блок кода)
Несколько строк исходного кода, сгруппированных в одной общей области видимости. Например блок кода процедуры будет между Sub и End Sub.

com port (COM порт)
Короткое имя для последовательного порта. Программа может общаться с внешним устройством, например, с модемом или другим компьютером через СОМ-порт (ныне старый добрый COM порт устарел в пользу USB). Смотрите Open Com.

compiler (компилятор)
Компилятор представляет собой компьютерную программу, которая берет исходный код и преобразует его в машинный или объектный код.

compiler directives (директивы компилятора)
Это инструкции, включенные в текст программы, которые влияют на то, как компилятор ведет себя. Например компилятор может быть направлен на включение одного или другого раздела кода в зависимости от операционной системы.

compound statement (составной оператор)
Оператор, состоящий из одного или нескольких дополнительных операторов. Как правило, составной оператор имеет начало (открытие оператора), середина (блок оператора) и конец (закрытие или окончание оператора), а некоторые имеют дополнительные части. Примером составных операторов будет If и Function.

constant (константа)
Символ, который сохраняет значение на протяжении всего выполнения программы. Смотрите Const.

constructor (module)    (конструктор (модуль))
Особый тип процедуры на уровне модуля, который автоматически вызывается до потока на уровне модуля кода. Смотрите Constructor (Module).

constructor (TYPE or CLASS)    (конструктор (Тип или Класс))
Специальная пользовательская функция  Type или Class , которая вызывается при создании объекта.

CVS
Система Параллельных Версий. Файловый менеджер осуществленный на Sourceforge, где хранятся источники. Там хранится история изменений, внесенная разработчиками. Использовалась для FB в прошлом. (См. также SVN и GIT)

К началу страницы


D



.DATA section (Секция .DATA)
Часть исполняемой программы, в которой находятся данные. Данные могут быть изменены во время работы программы.

debugger (отладчик)
Программа, которая позволяет контролировать выполнение скомпилированного кода. Значения переменных могут отслеживаться, выполнение может быть приостановлено, завершено или ускорено, и т.д. Отладчик обычно используется для того, чтобы помочь найти источники ошибок программиста в исходном коде, называемые "багами".

declaration (декларация)
Операторы исходного кода, которые определяют символ, константу, переменную, процедуру, тип данных, или подобное, для компилятора, но могут не выделять память под них. Смотрите Dim, Declare, Extern, Type.

definition (объявление)
Оператор исходного кода, который выделяет память или место для данных в коде. Например, Sub определяет процедуру путем выделения места для программного кода, которое она будет содержать. Некоторые операторы могут как декларировать, так и выделять место\память. Например, Dim это делает для переменной.

dereference (разыменовывание)
Акт получения значения из памяти по указанному адресу. Смотрите Оператор * (Valueof), Указатели.

descriptor (дескриптор)
Относится к внутренней структуре данных, используемой компилятором и RinTime библиотеками для управления строками переменной длины и массивами.

destroy (TYPE or CLASS) (удаление (тип или класс))
Акт деконструкции и освобождения памяти для экземпляра объекта. Когда объект будет уничтожен, его деструктор вызывается. Это происходит автоматически, когда объект выходит из области видимости, или когда Delete вызывается с указателем на объект.

destructor (module)  (деструктор (модуль))
Особый тип процедуры на уровне модуля, который автоматически вызывается при завершении программы. Смотрите Destructor (Module).

destructor (TYPE or CLASS)  (деструктор (типа или класса))
Специальная пользовательская функция  Type или Class , которая вызывается когда объект уничтожается.

dll
Сокращенно от dynamically linked library (динамически связанные библиотеки).

DPMI
Способ / стандарт позволяющий выполнять код в защищенном режиме (в основном 32-бит),  в 16-разрядном реальный режим DOS ядра. Влияет только на DOS версию FreeBASIC. См. также DOS связанный FAQ

DJGPP
Для 32-разрядной DOS системы полные C/C++ разработки для ПК с Intel 80386 (и выше) . Включают порты многих утилит развития GNU.

dynamically linked library (динамические связанные библиотеки)
Файл, содержащий исполняемый код, который загружается другим приложением при запуске. Также упоминается как DLL или динамические библиотеки. Смотрите Динамические библиотеки (DLL).

К началу страницы


E


enum (перечисления)
Тип данных ограничивается последовательностью названных значений, приведенных в определенном порядке. Смотрите Enum.

executable (выполняемый)
Двоичный файл, который может быть запущен. Он состоит из библиотек и объектных файлов, связанных с помощью линкера.

exit sub/function (выход из функции или процедуры)
При вызове данного оператора внутри процедуры, оставляет процедуру и возвращает управление вызывающей программе.

expression (выражение)
Инструкция для выполнения оператора, которая будет оценивать/возвращать значение.


К началу страницы


F


field (поле)
Обычно относится к элементу данных в Type или Class.

file number (номер файла)
Целое число, связанное с открытым файлом или устройство, как указано в Open. Во всех последующих операциях с открытым файлом или устройством необходимо использовать тот же номер файла.

format string (форматированная строка)
Последовательность символов, которая управляет тем, как данные должны быть представлены. Смотрите Format, Print Using.

function (функция)
Функция объявленная с помощью Function, необязательно принимает параметры и возвращает значение.

function pointer (указатель на функцию)
Переменная, содержащая адрес функции. Адрес функции, на который переменная указывает, может быть изменен во время работы программы, позволяя использовать его для динамического выполнения программы, например, для функций обратного вызова.


К началу страницы


G


get/put buffer (команды GET и PUT для буфера)
Смотрите: Image Buffer. Буфер изображения в исходном формате FreeBASIC.

GIT
Файловый менеджер, осуществленный на Sourceforge, где хранятся источники. Там хранится история изменений, внесенная разработчиками. Используется в FB сейчас. (См. также CVS, SVN).

global variable (глобальная переменная)
Переменная, видна для всех процедур в рамках модуля. Так же может быть видна для нескольких модулей, смотрите Common и Extern.

GNU
Проект сотрудничества масс , основной целью которых является обеспечивание свободного программного обеспечения и Unix-подобной операционной системы.

GPL
Укороченная GNU General Public License: Лицензия на программное обеспечение и другие виды работ. Открытый исходный код, обязывает пользователя сохранять проект с открытым исходным кодом и под GPL.

graphics primitive (графические примитивы)
Графический примитив - это еще один термин для общих форм, таких как круги и прямоугольники.

К началу страницы


H


hash table (хеш-таблица)
Структура данных, которая связывает ключи со значениями. Используется для эффективного поиска источника значений на основе данного ключа.

header (заголовок)
Когда речь идет о сборе данных, заголовки, как правило, первая часть этих данных, которые описывают все остальное. Заголовки файлов часто называют включаемыми файлами. В FreeBASIC обычно используется расширение файла '. bi '.

heap (куча)
Область памяти (свободная память), предоставляемая rintime библиотекой (и операционной системой), из которой программа может динамически выделять память. Смотрите Allocate.

К началу страницы


I


image buffer (буфер изображения)
Коллекция данных, используемая для описания изображения, содержащая такую ​​информацию, как: ширина, высота, глубина цвета и пиксельные данные.

include file (включаемый файл)
Своего рода исходный файл, который как правило, содержит определения типов и объявления для переменных и процедур. Данный файл может использоваться сразу для нескольких исходных файлов. В общем, эти файлы обеспечивают общий интерфейс к некоторым модулям, хотя этот файл, включаемый с помощью #include может содержать вообще любой текст.

initialization (инициализация)
Акт присвоения переменной какого-либо значения при его создании. Для экземпляров объекта, это включает вызов одного из его конструкторов. Не путать с присвоением, которое дает уже существующей переменной другое значение.

instance (экземпляр объекта)
Экземпляр объекта Type или Class.

instantiate (создание экземпляра объекта)
Акт создания объекта Type или Class, либо с помощью Dim, либо косвенно, например, при передаче объекта в процедуру по значению.

К началу страницы


J


К началу страницы


K


К началу страницы


L


library (библиотека)
Скомпилированный код хранящийся в одном файле, который можно использовать при создании других программ. Библиотека, как правило, имеет один или несколько заголовков , чтобы обеспечить все необходимые объявления для использования библиотеки.

linked list (container) (связанный список (контейнер))
Сбор данных, элементы которого, как правило, хранятся в куче. Элементы связанного списка хранят адреса своих соседних элементов, и поэтому только последовательный доступ (элемент доступен по ссылкам из смежных элементов) возможен. Эта схема не предусматривает постоянное кол-во элементов в контейнере, разрешает вставку в любое место, и по этой причине часто оказывается предпочтительнее, чем массив.

linker (линкер)
Программа, которая собирает несколько модулей и библиотек в один исполняемый файл, который можно загрузить в память компьютера. FreeBASIC использует LD линкер. Линкеры являются наиболее распространенным, но не единственным способом создания исполняемых файлов.

LGPL
Сокращение для GNU Lesser General Public License. Как GNU GPL, но более снисходительна, позволяя делать статическую линковку с другими LGPL.

local variable (локальная переменная)
Переменная, которая видна только в рамках области видимости , в которой она определяется. И уничтожается, когда выполнение программы выходит из этой области видимости.

lock (запереть)
Механизм синхронизации для того, чтобы только один поток мог иметь доступ к общему объекту, например к глобальной переменной для работы с устройством или файлом.

К началу страницы


M


member (элемент)
Поле данных, процедуры, перечисления, псевдоним типа или что-либо другое в рамках определения Type или Class.

member data (данные элемента)
Переменные, связанные с Type или Class. Данные элементов могут быть статичными или нестатичными.

member function (функция-элемент)
Процедура, связанная с Type или Class. Функции как элементы типов или классов дают полные права доступа для других элементов типа или класса, и могут быть статичными или нестатичными.

method (метод)
Смотрите member function.

module (модуль)
Исходный файл , включая любые заголовочные файлы, которые могут быть включены. Как правило, модуль является логической единицей кода, содержащий части программы, которые связаны друг с другом. Например, если сделать игру, можно отделить процедуры, необходимые для регистрации ошибок, с процедурами, которые контролируют графику в своих собственных модулях.

К началу страницы


N


non-static member data (не статические данные элементов)
Данные элеменов , каждый экземпляр Type или Class получает свою собственную копию.

non-static member function (не статические функции-элементы)
member function , которая имеет неявную This ссылку в качестве аргумента.

null (ноль)
Константа обычно ассоциируется с указателем, обозначающим значение "ничего". Это значение, как правило, целое '0 '(ноль) -' NULL терминатор' добавляется к zstrings, являющимся CHR (0), или asc (!"\0") - Но также может быть определена к типу указателя, как Cast(ANY PTR, 0).

К началу страницы


O


object code (объектный код)
Код в машиночитаемой форме, который может быть выполнен процессором в операционной системе вашего компьютера, как правило, линкуется с библиотеками, для создания исполняемого файла.

operand (операнд)
Один из аргументов, переданных оператору. Например, в выражении А = B + C, операнды A,B,C, в то время как + и = операторы.

operator (оператор)
Функция, принимающая один или более операндов (аргументов) и возвращающая значение. Операторы могут работать со встроенными типами данных, или могут быть перегружены для работы со  пользовательскими типами. Смотрите Операторы.

overload (перегрузка)
Для объявления процедур с тем же именем, что и другая, но с разными параметрами. Свободные функции или функции на уровне модуля, могут быть перегружены с использованием ключевого слова Overload. Type или Class вмещающие в себя функции как элементы могут быть перегружены по умолчанию.

К началу страницы


P


page buffer (страница буфера)
Буфер, используемый для подготовки содержания экрана прежде чем показать на экране. С многостраничными буферами, одна страница видна пользователям, в то время как все другие скрыты. Также активная страница (одна, в которую вносятся изменения) не обязательно должна быть видимой, позволяя делать изменения своей страницы, но показывая другое.

parameter (параметр)
Имя, используемое процедурой, которая соответствует аргументу, переданному ей.

parameter list (список параметров)
В скобках через запятую список параметров в объявлении процедуры или определения.

PDS
Система профессиональной разработки. Иногда называют QB7.1.

pitch (кол-во байт в ряду)
Число байтов в ряду, в изображении или буфере экрана. Если нет никакого дополнения между рядами, то это может быть вычислено width * bytes_per_pixel, но это не обязательно, с уверенностью трудно предполагать. Кол-во байт в ряду можно найти с помощью ScreenInfo для экрана и буфера изображения , прочитав заголовок.

pointer (указатель)
Тип данных, используемый для хранения адреса. Вид указателя определяет, как данные по адресу интерпретируется, когда указатель разыменовывается или при использовании с Оператором -> (Указатель на доступ к элементу). Смотрите Pointers.

preprocessor (препроцессор)
Препроцессор FreeBASIC отвечает за расширение макросов и замену объявленных значений с их величинами.

procedure (процедура)
Общее название для любого блока кода, который можно вызвать откуда-то еще в программе. Смотрите Sub, Function.

property (свойства)
Свойства - специальный вид элементов типа/класса, промежуточное звено между областью (или данными элемента) и методом. Смотрите Property.

ptr
Укороченное название для pointer. Смотрите pointer.

К началу страницы


Q


queue (container)  (очередь (контейнер))
Коллекция данных, которая предлагает хранение методом "первым пришел - первым вышел" (FIFO) и поиск. Как правило, элементы могут быть вставлены только с конца, тогда как выборка сначала.

К началу страницы


R


ragged array (container)  (массив с переменной длиной строк (контейнер))
Представляет собой массив, чьи строки различной длины.

real number (дробное число)
Любое положительное или отрицательное число в том числе фракции, иррациональных и трансцендентных чисел (как пи или е) и нуля. Переменные, содержащие действительное число имеют ограниченный диапазон и точность, в зависимости от числа битов, используемых для представления количества. Смотрите: Single и Double.

registers (регистры)
Места внутри процессора для хранения данных. 80386 и совместимые 32-разрядные модели имеют EAX, EBX, ECX, EDX, ESI, EDI, EBP и ESP, а также некоторые специальные (контроль/тест / отладка) регистры. НЕ связан с "Реестром Windows".

К началу страницы


S


scope (область видимости)
Относится к времени жизни и видимости какого-либо компонента программы, как переменной или процедуры. Например, переменная, определенная внутри процедуры имеет область видимости внутри процедуры, то есть она видна только в блоке процедуры, но не за ее пределами. По окончании работы процедуры, переменная больше не существует.

scope block (блок области видимости)
Блок кода, имеющий одну область видимости. Явно блок кода области видимости может быть определен с помощью ключевого слова Scope. Блоки области видимости могут также быть неявными с использованием If..Then, For..Next, и других составных операторов.

shared library (динамическая библиотека)
Библиотека, которая существует (как правило) в одном варианте в системе, с которой может связаться множество выполняемых файлов. Смотрите Динамические библиотеки(DLL).

source code (исходный код)
Код, написанный программистом, в человекочитаемой форме, но еще не скомпилированный.

stack (container)  (стек (контейнер))
Коллекция данных, которые предлагают хранение методом "последним пришел - первым вышел" (LIFO) и поиск. Как правило, элементы могут только быть вставлены, получен доступ и удалены из вершины стека.

statement block (блок оператора)
Одна или более линий кода в теле составного оператора.

static library (статическая библиотека)
Библиотека, которая линкуется в программу во время линковки. Для каждого выполняемого файла , определяется своя копия библиотеки, которая располагается в его теле. Смотрите Статические библиотеки.

static member data (статический элемент данных)
Данные элемента, которые хоть и являются частью Type или Class, но эти данные определены за пределами любого Type or Class, и не занимают места в получающемся объекте.

static member function (статическая функция-элемент)
member function без неявной this ссылки в качестве аргумента. Статические функции-элементы могут вызываться обычным образом через переменную, или непосредственно используя имя типа и оператор разрешения области видимости См. Static(Элемент).

static storage  (статическая память)
Относится к хранению в секциях .BSS или .DATA исполняемого файла. Переменные, объекты и массивы с статической памятью выделяются и инициализируются во время компиляции и уничтожаются (в случае объектов) и освобождаются при прекращении программы. Явно инициализированные переменные, объекты и массивы распределяются в секции .DATA .

static variable/object/array (статические переменные\объекты\массивы)
Переменные, массивы и объекты с static storage.

sub (процедура)
Процедуры , объявление при помощи Sub, опционально принимают параметры, а не возвращают значение.

SVN
Система контроля версий, которая позволяет пользователям отслеживать изменения, внесенные в источники и документы. Использовалась FB в прошлом. (смотрите так же CVS и GIT)

SWIG
Утилита для автоматической трансляции C заголовков в FreeBASIC (очень часто не идеально).

symbol (символ)
Используется для ссылки на переменные, метки, функции, методы, процедуры и другие программные конструкции в программе.

К началу страницы


T


.TEXT section  (секция .TEXT)
Часть исполняемой программы, которая содержит команды программы, и данные констант.

this reference (ссылка THIS)
Ссылка на экземпляр Type или Class , который передается как скрытый аргумент нестатических функций-элементов этого типа или класса. На протяжении функции-элемента, этот экземпляр является ссылкой , используя ключевое слово this , Смотрите This.

thread (поток)
Поток выполнения внутри процесса (работающей программы), который разделяет время выполнения с другими потоками в одном процессе. Смотрите Многопоточность.

trace (трассировка)
Для слежения за выполнением программы шаг за шагом, либо вручную, изучая исходный код с помощью отладчика.

К началу страницы


U


union (объеденения)
Структура, которая может быть использована для хранения различных типов переменных, таких как целые и дробные числа, а так же строки фиксированной длины , имеющие одно место в памяти. Смотрите Union.

user defined data type (пользовательские объявляемые типы данных)
Type, Union, Enum, или Class типы данных.

К началу страницы


V


variable (переменная)
Символ, представляющий данные в памяти.

VBDOS
Visual BASIC для DOS, исторический BASIC компилятор M$ от 1992 года, следующий за QBASIC. DOS устарела очень быстро, VBDOS никогда так и не стал популярным.

vector (вектор)
Серия элементов данных в памяти, к которой можно получить доступ по индексу. Подобно массиву за исключением того, что элементы вектора не обязательно все содержатся в пределах единственного блока памяти.

К началу страницы


W


warning (предупреждение)
Сообщение, показанное компилятором во время компиляции, которое предлагает возможные потенциальные проблемы с текущим кодом.

wiki
Система онлайн, которая обеспечивает ряд страниц, содержащих информацию, которая может быть рассмотрена и изменена общественностью. В контексте FB это как правило используется как ссылка на FreeBASIC документацию.

К началу страницы


X


x86
Ссылки на наборы команд, совместимых с 8086 (и позже) архитектурой центрального процессора, FreeBASIC поддерживает только 80386 и позже.

К началу страницы


Y


К началу страницы


Z


zstring
zstring - в сущности стандарт C стиля для строк с нулевым символом в конце . Этот тип данных обеспечен для большей совместимости с библиотеками C.

К началу страницы