C интерфейс – основа для многих других интерфейсов. Он содержит функции С для всех методов MathGL. В отличие от C++ классов, C функции содержат обязательный(ые) аргумент(ы) типа HMGL (для графики) и/или HCDT/HMDT/HADT (для массивов данных), который указывают на объект для рисования или изменения. Поэтому перед использованием их необходимо создать с помощью функции mgl_create_*()
, и удалить после использования (или в конце программы) с помощью функции mgl_delete_*()
.
Все C функции описаны в заголовочном файле #include <mgl2/mgl_cf.h>
и используют переменные следующих типов:
HMGL
— Указатель на класс mglGraph
(см. Ядро MathGL).
HCDT
— Указатель на класс const mglDataA
(см. Обработка данных) — неизменяемые массивы данных.
HMDT
— Указатель на класс mglData
(см. Обработка данных) — массивы данных с действительными числами.
HADT
— Указатель на класс mglDataC
(см. Обработка данных) — массивы данных с комплексными числами.
HMPR
— Указатель на класс mglParse
(см. mglParse class) — выполнение MGL скриптов.
HMEX
— Указатель на класс mglExpr
(см. Вычисление выражений) — текстовые формулы для действительных чисел.
HMAX
— Указатель на класс mglExprC
(см. Вычисление выражений) — текстовые формулы для комплексных чисел.
Фортрановские функции и подпрограммы имеют такие же имена как функции С. Однако есть отличие. Переменные типов HMGL, HCDT, HMDT, ...
должны быть целыми с достаточной разрядностью (integer*4
для 32-битной операционной системы или integer*8
для 64-битной). Все C функции типа void
— подпрограммы на Фортране и должны вызываться оператором call
. Прочие функции, возвращающие тип HMGL
или HMDT
и т.п. должны быть объявлены в Фортране как возвращающие целое нужной разрядности. Также необходимо иметь в виду, что строки в Фортране отделяются символом '
, а не "
.