Как из набора своих процедур и макросов создать библиотеку, чтоб могли её использовать другие?
Желательно в TASM.
Портабельные библиотеки |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
Портабельные библиотеки |
gMan |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Как из набора своих процедур и макросов создать библиотеку, чтоб могли её использовать другие?
Желательно в TASM. -------------------- Стабильность - признак мастерства
|
P@sh@ |
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: 2 |
уж не знаю, как на асме (хотя подозреваю...), но на дельфе DLL делается очень легко (F1 на слове library)
|
gMan |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
<_< Сам знаю.
-------------------- Стабильность - признак мастерства
|
gMan |
Сообщение
#4
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Я говорю о статической библиотеке .LIB
-------------------- Стабильность - признак мастерства
|
P@sh@ |
Сообщение
#5
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: 2 |
блин, че-то я не в тему про дельфи, забыл, что я в ветке "assembler" нахожусь
|
BlackShadow |
Сообщение
#6
|
Гость |
TheLizard, пардон, что забыл выложить тебе по ООП в TASMPfctxre :p2: Засечку на лбу поставил, должен завтра притащить.
Чтобы использовать твои библиотеки в других языках не обязательно делать .Lib. У меня как-то проблема с этим возникакла при импорте такого чуда в MSVS.Net... Достаточно же .Obj. В паскале подключается через {$L }, а сами функции описываются как External. В C/C++ создаётся хедер с описаловом, а .Obj подключается к проекту. Только не забудь, что C и Pascal используют разные методы передачи параметров. В Pascal они пёхаются в стёк в том порядке, что указан в описалове, а функция их сама достаёт. В C/C++ порядок обратный и стёк чистить не надо - чистит тот, кто вызвал. |
gMan |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Мне не нужно использовать её в других языках. Я хочу создать библиотеку типа WinAPI. И использовать для своих нужд. И нужд других.
P.S. Наверное спросишь, зачем тебе это? Отвечу, для проекта. Подробнее на моем сайте http://www.ladderos.narod.ru -------------------- Стабильность - признак мастерства
|
BlackShadow |
Сообщение
#8
|
Гость |
Ну что я могу тебе сказать
Посмотрел сайт. Картинку смени - грузится долго, ла и красоты особой нет. Дизайн, скажем на троечку. Об остальном говорить не буду, т. к. нет у меня даже WinImage под рукой. В общих чертах: очередная ось Плодили их плодили и никак не наплодим чего-то толкового. Очень помешила фраза восьмизадачная ось Ну да ладно. Я так понял оно у тебя в PM и всё как полагается? Можно тогда экспортировать функции через инты как в менуэте, а можно что-то типа линуха замутить... Можно конечно и толком, как в винде сделать, но а это уйдёт много сил и здоровья З. Ы.: И чо вас всех на этот народ прёт? Тормоза же там... Да ладно. Последнюю версию своей оси ты не выложил, или это от меня народ её зажал? |
gMan |
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Ladder (название ос) это моя большая мечта.
PM нету 8-задачность, это я так назвал возможность ОС запускать до 8-задач. Это и не многозадачность вовсе, а как бы её эмуляция... А критику приму к сведению. P.S. А где ещё кроме народа, всмысле где лучше? -------------------- Стабильность - признак мастерства
|
BlackShadow |
Сообщение
#10
|
Гость |
Цитата Ladder (название ос) это моя большая мечта. Переболеешь. Как и все Цитата 8-задачность, это я так назвал возможность ОС запускать до 8-задач. Ты меня недопонял. Посмешила меня именно цифра 8. Почему 8, а не 10, не 20, не 32, не n в конце концов? Цитата А где ещё кроме народа, всмысле где лучше? На by.ru раньше неплохо было, но они сейчас закрыты - переделываются уже год... А так и не знаю что посоветовать. Я халявный хостинг с ASP.Net и SQLServer'ом нашёл и мне больше ничего не надо |
gMan |
Сообщение
#11
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Цитата Переболеешь. Как и все Неа, я уже нашол ей достойное применение, в отличие от других подобных проектов. К тому же я "болею" уже больше 3-х лет. -------------------- Стабильность - признак мастерства
|
gMan |
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 69 Пол: Мужской Реальное имя: Вася Пупкин Репутация: 1 |
Так все же, как портабельную библиотеку сделать из файла в котором просто куча процедур и макросов?
-------------------- Стабильность - признак мастерства
|
Shadow |
Сообщение
#13
|
Lonely_Raven Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
Как узнать приложению местонахождение внешних функций расположенных в DLLке
если библия одна то просто - указывай нужную и собирай дальше Если кол-во DLLок больше одной 10 например для этого естьдругое решение для централизованного хранения инфор о размещении используем приложен функций в DLL ках прмен LIB файлы эти файлы представляют собой своебразный спарвочник о рамещении функций в DLL ках В пакете TASM для создания LIB файла предназначена утилита Implib.exe IMPLIB.EXE maket_dll.lib maket_dll.dll >p.txt Информация взята из книги В.И. Юров ASSEMBLER практикум -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
BlackShadow |
Сообщение
#14
|
Гость |
Вариантов действительно море. Чтобы организовать что-то типа WinAPI, действительно проще реализовать работу с DLL. Описания PE в сети полно. Если под твою ось приложения имеют необычный формат (DOS-EXE, PE, NE, ...), то тут уж думать надо...
|
Текстовая версия | 19.05.2024 20:44 |