RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Watcom linker


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : bz
To : ErOs2
Subj : Watcom linker

> > Дык да, знаю об этом - в либе символические имена нахожу если смотрю содержимое в редакторе (и именно те на которые линкер ругается).
>
> Тогда смотри внимательнее, возможно используемый calling convention не APIENTRY (и не pascal), и в этом случае watcom добавляет в конец имени функции подчёркивание (а борланд, к примеру, добавляет в начало). Соответственно, линкер ищет myfunc_, а в либе оно myfunc. Но если calling conventions разные - то ничего не получиться. Извратившись, можно слинковать, но работать скорее всего не будет. Для того, чтоб длл можно было юзать из разных компиляторов, calling conventions должны быть APIENTRY или pascal.
>
Можно покувыркаться с явным заданием __cdecl, __pascal, __syscall (и даже __far16 ;) в заголовочном файлике.

На самом деле именно Ватком даёт тут немного больше простора. Следует посмотреть на pragma aux, которые позволяют в том числе описать как будут передаваться параметры в процедуру/функцию, как возвращаться, где добавлять "_" и кое-чего ещё. Хотя, может быть и клинический случай.

Tue 30 Nov 2004 11:25 Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Ge




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.