Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Gnu Pascal модули

Автор: -Vits- 7.06.2006 15:59

Gnu pascal
Помогите разобраться как на нем писать модули.....тут я как понял отличается от BP7 TP7
в инете чет ничего нет или ссылочку подскажите!

Автор: volvo 7.06.2006 16:06

Ты про GPC (Gnu Pascal Compiler) что-ли? Вообще-то модули они и в Африке модули, и на FPC/GPC/VP/Delphi модуль имеет в целом такую же структуру, как и на TP... Возможны нюансы, но для этого надо знать, какой именно модуль тебе нужен, что он должен делать...

Автор: -Vits- 7.06.2006 19:22

Ну вот эти нюансы как раз мне и нужно узнать!!!
Ну там прописаны будут все функции
Что то типо этого!!Но нифига не компилит!
Module MADT interface;
Export MADT = (ADT, Item, Create, Empty, PopFront, PopBack, First, Last,
PushFront, PushBack, Print, Size, Next, Prev, InsertBefore, InsertAfter,
RemoveBefore, RemoveAfter);
Type Item = integer;
Type ADT = ^Node;
Node = record
Number:Item;
Next:ADT;
End;
procedure Create(Var D:ADT);
function Empty(Var D:ADT) : Boolean;
procedure PopFront(Var D:ADT);
procedure PopBack(Var D:ADT);
function First(Var D:ADT):Item;
function Last(Var D:ADT):Item;
End.

Автор: volvo 7.06.2006 19:40

Да ты что? Module - это откуда? Из ADA?

Вот структура модуля GPC:
http://www.gnu-pascal.de/gpc/Source-Structures.html#Source-Structures

Так что... Будет как-то вот так:

Unit MADT;

interface
Type Item = integer;
Type ADT = ^Node;
Node = record
Number:Item;
Next:ADT;
End;

procedure Create(Var D:ADT);
function Empty(Var D:ADT) : Boolean;
procedure PopFront(Var D:ADT);
procedure PopBack(Var D:ADT);
function First(Var D:ADT):Item;
function Last(Var D:ADT):Item;

implementation
{ Здесь - реализация процедур/функций }
End.


Как видишь, аналогично TP...

Автор: -Vits- 7.06.2006 20:06

А еще не подскажите как в Unix откомпилить прогу вместе с модулем
#makefile
prog : prog.o madt.o
gpc -o prog prog.o madt.o
prog.o: prog.p
gpc -c prog.p
madt.o: madt.p
gpc -c madt.p

так?

Автор: Гость 15.06.2006 1:58

Module - это из Extended Pascal