Помощь - Поиск - Пользователи - Календарь
Полная версия: Портабельные библиотеки
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Assembler
gMan
Как из набора своих процедур и макросов создать библиотеку, чтоб могли её использовать другие?

Желательно в TASM.
P@sh@
уж не знаю, как на асме (хотя подозреваю...), но на дельфе DLL делается очень легко (F1 на слове library)
gMan
<_< Сам знаю.
gMan
Я говорю о статической библиотеке .LIB
P@sh@
блин, че-то я не в тему про дельфи, забыл, что я в ветке "assembler" нахожусь smile.gif
BlackShadow
TheLizard, пардон, что забыл выложить тебе по ООП в TASMPfctxre :p2: Засечку на лбу поставил, должен завтра притащить.

Чтобы использовать твои библиотеки в других языках не обязательно делать .Lib. У меня как-то проблема с этим возникакла при импорте такого чуда в MSVS.Net... Достаточно же .Obj. В паскале подключается через {$L }, а сами функции описываются как External. В C/C++ создаётся хедер с описаловом, а .Obj подключается к проекту. Только не забудь, что C и Pascal используют разные методы передачи параметров. В Pascal они пёхаются в стёк в том порядке, что указан в описалове, а функция их сама достаёт. В C/C++ порядок обратный и стёк чистить не надо - чистит тот, кто вызвал.
gMan
Мне не нужно использовать её в других языках. Я хочу создать библиотеку типа WinAPI. И использовать для своих нужд. И нужд других.

P.S. Наверное спросишь, зачем тебе это? Отвечу, для проекта. Подробнее на моем сайте http://www.ladderos.narod.ru
BlackShadow
Ну что я могу тебе сказать smile.gif
Посмотрел сайт. Картинку смени - грузится долго, ла и красоты особой нет. Дизайн, скажем на троечку. Об остальном говорить не буду, т. к. нет у меня даже WinImage под рукой.

В общих чертах: очередная ось smile.gif Плодили их плодили и никак не наплодим чего-то толкового. Очень помешила фраза восьмизадачная ось smile.gif Ну да ладно. Я так понял оно у тебя в PM и всё как полагается? Можно тогда экспортировать функции через инты как в менуэте, а можно что-то типа линуха замутить... Можно конечно и толком, как в винде сделать, но а это уйдёт много сил и здоровья smile.gif

З. Ы.: И чо вас всех на этот народ прёт? Тормоза же там... Да ладно. Последнюю версию своей оси ты не выложил, или это от меня народ её зажал?
gMan
Ladder (название ос) это моя большая мечта.
PM нету sad.gif
8-задачность, это я так назвал возможность ОС запускать до 8-задач.
Это и не многозадачность вовсе, а как бы её эмуляция...

А критику приму к сведению.
P.S. А где ещё кроме народа, всмысле где лучше?
BlackShadow
Цитата
Ladder (название ос) это моя большая мечта.

Переболеешь. Как и все smile.gif

Цитата
8-задачность, это я так назвал возможность ОС запускать до 8-задач.

Ты меня недопонял. Посмешила меня именно цифра 8. Почему 8, а не 10, не 20, не 32, не n в конце концов?

Цитата
А где ещё кроме народа, всмысле где лучше?

На by.ru раньше неплохо было, но они сейчас закрыты - переделываются уже год... А так и не знаю что посоветовать. Я халявный хостинг с ASP.Net и SQLServer'ом нашёл и мне больше ничего не надо smile.gif
gMan
Цитата
Переболеешь. Как и все

smile.gif
Неа, я уже нашол ей достойное применение, в отличие от других подобных проектов. К тому же я "болею" уже больше 3-х лет.
gMan
Так все же, как портабельную библиотеку сделать из файла в котором просто куча процедур и макросов?
Shadow
Как узнать приложению местонахождение внешних функций расположенных в DLLке
если библия одна то просто - указывай нужную и собирай дальше
Если кол-во DLLок больше одной 10 например для этого естьдругое решение

для централизованного хранения инфор о размещении используем приложен функций
в DLL ках прмен LIB файлы эти файлы представляют собой своебразный спарвочник
о рамещении функций в DLL ках


В пакете TASM для создания LIB файла предназначена утилита Implib.exe
IMPLIB.EXE maket_dll.lib maket_dll.dll >p.txt
Информация взята из книги В.И. Юров ASSEMBLER практикум
BlackShadow
Вариантов действительно море. Чтобы организовать что-то типа WinAPI, действительно проще реализовать работу с DLL. Описания PE в сети полно. Если под твою ось приложения имеют необычный формат (DOS-EXE, PE, NE, ...), то тут уж думать надо...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.