| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Porting Library |
| Автор: iDarkLord 28.5.2014, 00:10 |
| Я использую Open Watcom копилятор для сборки DOS 16 приложения под 80188 подобную архитектуру, проблема заключается в том что я не могу подключить библиотеку собранную в BC 3.1. После казалось бы успешной линковки, при использовании некоторых функций из этой библиотеки я получаю сообщения от линковщика что не найден символ _malloc() или _free(). Использование функции malloc() в пользовательском коде проходит линковку. Как я понял проблема возникает только когда какя либо функция библиотеки вызывает malloc() или free(), то есть библиотека нифига не стэндалон и тянет зависимости из стандартной бибилотеки собранной для BC 3.1. Проверитб это я никак не могу и пересобрать библиотеку тоже, так как ее исходников нет. Всвязи с этим у меня вопрос: как портировать билиотеку на Open Watcom ? malloc() и free() есть в библиотеках Open Watcom но их символы скомпилированы видимо не так как того ожидает борландовская библиотека. |
| Автор: xvr 28.5.2014, 12:40 |
| Определить функции _malloc и _free, как напрямую вызывающие malloc и free - если кому то нужны эти функции, то дайте их ему |
| Автор: kuzulis 28.5.2014, 20:17 |
| Не, не получиться прилинковать BC"шные либы используя OpenWatcom. Мы дизассемблировали их и писали свои обертки.. Все что у нас было, выложили тут: https://code.google.com/p/lib-adam-5000/ И еще некоторое обсуждение было http://forum.cta.ru/forum_posts.asp?TID=4142&PN=1 (если в тему) Если конечно, я правильно "протелепатил", т.к. я подразумеваю что имеется ввиду программирование для ПЛК (например, от Advantech). |