Страница 1 из 1

Создание .EXP файла для библиотеки

Добавлено: 28 Ноябрь 2005, 16:34
ru_alex
Всем привет!
Кто-нибудь знает, как правильно создавать .EXP файл для библиотеки.
MyLib.prj должна генерить MyLib.dll, но при компиляции требует MyLib.EXP файл. Я так понимаю, если ему подсунуть пустой, то и использовать функции библиотеки не получится.

Добавлено: 29 Ноябрь 2005, 11:20
ru_alex
По образцу сделал из готового проекта.
Но как-то не логично по-моему, должна быть документация что-ли. Или может я не нашел...

Добавлено: 29 Ноябрь 2005, 12:57
StillZero
Обозначения процедур и их параметров в файле myfunc.exp
;Start of Exported Procedures
FUNCNAME@FP1P2...PN @?
................... ...
................... ...
;End of Exported Procedures
;Start of Exported Global Data
;End of Exported Global Data,
где:
FUNCNAME - идентификатор имени процедуры (функции)
@F - обязательный префикс
P1,P2,...,PN - обозначения типов аргументов процедуры:
BYTE - UC, <BYTE> - OUC, *BYTE - RUC, <*BYTE> - PUC
SHORT - S, <SHORT> - OS, *SHORT - RS, <*SHORT> - PS
USHORT - US, <USHORT> - OUS, *USHORT - RUS, <*USHORT> - PUS
LONG - L, <LONG> - OL, *LONG - RL, <*LONG> - PL
ULONG - UL, <ULONG> - OUL, *ULONG - RUL, <*ULONG> - PUL
REAL - D, <REAL> - OD, *REAL - RD, <*REAL> - PD
*DECIMAL - RE, <*DECIMAL> - PE
STRING - SB, <STRING> - OSB, *STRING - RSB, <*STRING> - PSB
*CSTRING - RSC, <*CSTRING> - PSC
*PSTRING - RSP, <*PSTRING> - PSP
Пример: Процедура Sound(short,short) должна записываться так:
SOUND@FSS @?

Добавлено: 29 Ноябрь 2005, 13:04
StillZero
информацию выше не помню где взял, не мое

+ C:\C55\Examples\SRC\PRO2EXP\pro2exp.exe
исходники в PRO2EXP.CLW

насчет есть ли такой пример в 6-ке не знаю

Добавлено: 29 Ноябрь 2005, 14:22
ru_alex
Спасибо.
Сообственно по синтаксису параметров процедур главный вопрос и стоял...

Добавлено: 15 Декабрь 2005, 11:49
ru_alex
Привет всем!

С процедурами понятно, а как правильно объявлять для экспорта Class? Хотелось бы в библиотеке определить тип и реализацию, а в приложении определить Class, наследующий по этому типу + реализация виртуальных методов.

Добавлено: 15 Декабрь 2005, 12:09
ru_alex
Получается что-то типа:

VMT$MyClass @?
TYPE$MyClass @?
Construct@F11MyClass @?
Destruct@F11MyClass @?
MyProc@F11MyClass @?


F11 мне сообщил компилятор, выдав ошибку: Unresolved External Constrict@F11MyClass. Подставив в EXP файл F11, получаю то что надо. О чем-то не знаю, или так и должно быть? :)
Программирование методом научного перебора :)

Добавлено: 15 Декабрь 2005, 12:32
Admin
Ищи "Programmer Guide" в pdf файле. Там все есть ...

Добавлено: 15 Декабрь 2005, 13:23
Дед Пахом
F11 мне сообщил компилятор, выдав ошибку: Unresolved External Constrict@F11MyClass. Подставив в EXP файл F11, получаю то что надо. О чем-то не знаю, или так и должно быть?
@F<число> - где число=числобукввименикласса

Добавлено: 15 Декабрь 2005, 14:19
ru_alex
спасибо, понял...
как то сам не просек...