Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Ultralogik32 2.00 build27 и функции С++

 Ответить Ответить
Автор
Сообщение
gunman Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - gunman Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Ultralogik32 2.00 build27 и функции С++
    Опубликовано: 12 Апрель 2006 10:38

Возникла проблема с вызовом внешних функций на С/С++ на Ultralogik(e)32 2.00 build27a: 

Добавляю блок "EXT" , выбираю в нем нужный *.obj, нужную viod функцию, call near, компилирую, ошибок нет.

Запускаю, а работы функции не видать, значит не прилинковалась, хотя *.map не видать, чего линкер делает одному Ultralogik(y) известно.

Как это побороть? Мож кто знает, как, используя tlink.exe, собрать *.exe?

 

 

 

Наверх
s_smirnov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Январь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 322
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_smirnov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Апрель 2006 12:09

Аналогичную проблему решить не удалось.

Ultralogik 2.00.042a (последний из выпущеных).

Пытались прилинковать обьектный файл сделаный на С (Borland C3.1), добавляли разные библиотеки, однако Tlink выдает ошибки, EXE-файл соответственно не получается.

Может кто нибудь знает методику компилирования и сборки программы UL, с подпрограммой на С.

На FTP Prosoft примеры под UL16, в справке UL этот вопрос обойден, поддержка Прософт молчит...

Сергей
Наверх
Leonid Uretsky Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Октябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 187
Свойства публикации Свойства публикации   Ответить, цитируя автора - Leonid Uretsky Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Апрель 2006 12:31
Первоначально опубликовано gunman

Как это побороть?

Я поборол Ultralogik тем, что переделал всю программу на Си

(Надеюсь, не в обиду разработчикам)

Наверх
s_smirnov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Январь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 322
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_smirnov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Апрель 2006 18:14

[/QUOTE]

(Надеюсь, не в обиду разработчикам)

[/QUOTE]

Разработчикам UL по видимому нисколько не обидно, обидно в основном пользователям.

Сергей
Наверх
gunman Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - gunman Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Апрель 2006 05:28

На диске с Ultralogik(ом)2.00 build27a в папке \examples\bc31 лежат примеры, когда их узрел, чуть не прослезился от счастья. Смотреть всем танкистам.

Наверх
sermon Смотреть выпадающим
Новичок
Новичок


Присоединился: 07 Сентябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 35
Свойства публикации Свойства публикации   Ответить, цитируя автора - sermon Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Апрель 2006 08:50
Я собираю строкой tlink c0m.obj+stored.obj+kontr.obj,kontr,,cm.lib

где, stored.obj - объектный файл программы на Си (модель, соответственно, medium)

kontr.obj - это UltraLogic'а
Наверх
moderator Смотреть выпадающим
Группа модераторов
Группа модераторов


Присоединился: 27 Июль 2005
Online Status: Offline
Публикации: 6
Свойства публикации Свойства публикации   Ответить, цитируя автора - moderator Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Апрель 2006 10:20

Если кому еще нужно, сайт разработчиков UL:

www.ultronic.ru

Наверх
s_smirnov Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Январь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 322
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_smirnov Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Апрель 2006 16:51

sermon
Я собираю строкой tlink c0m.obj+stored.obj+kontr.obj,kontr,,cm.lib

 

А что такое cm.lib ?, почему она, где ее взять?

Сергей
Наверх
gunman Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Апрель 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - gunman Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Апрель 2006 22:27
В папке BorlandC\lib она лежит в месте с подобными, а она потому, что при компиляции Си проекта он использовал модель памяти medium(см. настройки в борланде), если выбрать модель large, то понадобиться cl.lib. Еще понадобиться *.lib из plcwin32\lib.
Наверх
0xBA0BAB Смотреть выпадающим
Новичок
Новичок


Присоединился: 30 Июнь 2009
Категория: Russian Federation
Online Status: Offline
Публикации: 1
Свойства публикации Свойства публикации   Ответить, цитируя автора - 0xBA0BAB Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Июнь 2009 10:22
Изрядно помучавшись с компиляцией и отладкой программы с функциями на С++ научился компилировать и отлаживать программу на локальном компьютере полностью из-под Borland C++ 3.1
Возможно, кому-то будет полезно. В проекте используется модель large, поэтому используются библиотеки для этой модели памяти.
Для этого необходимо правильно настроить проект.
В окне проекта должны быть следующие файлы:
C0L.OBJ - самое важное, чтобы этот файл был первым в проекте
file1.CPP - любой подключаемый код
PLCRTL.LIB - нужен, порядок не важен
ultralogik_project.OBJ   - объектный файл от Ultralogik
file2.CPP - любой подключаемый файл
CL.LIB - обязательный файл

Такой способ позволяет:
1. Компилировать финальную программу прямо из IDE
2. Отлаживать программу, понаставив брикпойнты, трассировать, просматривать переменные и все прочие вкусности.
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz