![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.05.2013
Сообщений: 33
|
![]()
подскажите пожалуйста, можно ли использовать каким-либо образом вод написанный на SWIprolog в программах на си#???
очень нужна любая информация по этому вопросу, заранее благодарю))) |
![]() |
![]() |
![]() |
#2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
http://www.swi-prolog.org/pldoc/man?section=embedded
Официальная документация не отвечает на ваши вопросы? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.05.2013
Сообщений: 33
|
![]()
спасибо, не могла найти эту информацию, сейчас почитаю, благодарю))
|
![]() |
![]() |
![]() |
#4 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
Зачем вам пролог в С#?
На соседнем форуме недавно искали (не нашли) инфу по Делфи+SWI Prolog. Препод где-то завелся что-ли странный такой? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.05.2013
Сообщений: 33
|
![]()
да, это в сгупсе)))
очень странный и сам информации не дает, говорит, что сами мы должны найти ничего подробного найти не могу, вот и мучаюсь, а курсовой и писать и сдавать еще надо кого ни спрошу, никто ничего не знает и объяснить не может((( Последний раз редактировалось Stilet; 22.05.2015 в 09:25. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#7 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
Был недавно в вашем сгупсе, когда мнск проходила в нгу ).
Препод говорит "найти", но просто так найти не получится - гарантирую. Насколько я понимаю, есть swipl-ld, который вам надо использовать вне зависимости от того, на каком языке вы хотите юзать пролог. swipl-ld позволит собрать толи DLL (или типа того), толи объектный файл, который тоже можно прикрутить к своей программе. С этим проблемы врядли возникнут. Т.е. вы написал на прологе код, собрали из него бинарник, который как-то подключили. Но вот потом надо использовать. Чтобы например вызвать функцию, вы должны передать аргументы. Но пролог ждет аргументы в каком-нибудь внезапном формате. Вам надо разобраться с тем, как в SWI устроены внутри списки, строки и т.п. Я когда-то делал это для Visual Prolog 5.x, это долго, неинтересно и бесполезно. Насколько я знаю, есть там какая-то примочка для Си и С++, в которой по крайней мере стандартные типы как-то прописаны. Вы можете взять те исходники, т.к. видимо вам надо будет написать какой-то также велосипед для C#. Скучно это. Аватар Препод не прав, я думаю. Когда я учился - тоже такие были. Грузили всяким шлаком. Препод наверняка ведет ИИ или хотя бы ФЛП. Какое отношение его задание имеет к предмету? - если какие-то знания полученные при этом им еще могут пригодится (ну допустим, соглашения о вызовах, манглирование имен и т.п.), то другая часть (которая займет почти все время) - никогда. Им надо залезть в дебри конкретной реализации пролога и узнать что там разработчики наколбасили. Ну например, хочешь ты прологу передать список (функция ожидает список) - тебе надо сформировать точно такой же список на C++ (или C#). Я вот когда ковырял Visual Prolog - то малямс в шоке был как внутри пролога список устроен (там куча служебной инфы, которую. тебе тоже надо заполнить на С++). И вообще, я не уверен что это возможно вообще сделать на C#. На С++ я делал это, там ведь можно написать низкоуровневые штуки, а суть проблемы в том, что нужно сделать так, чтобы в бинарном представлении данные которые ты хочешь передать в пролог выглядели так, как их хочет SWI. На шарпах я не писал, но там вообще возможен например обычный (неумный) указатель или я могу задать битовые поля и выравнивание в структурах как-то замутить? Последний раз редактировалось Stilet; 22.05.2015 в 09:37. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Кате может поможет
http://www.lesta.de/prolog/swiplcs/Generated/Index.aspx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 15.05.2013
Сообщений: 33
|
![]()
я его уже просто запытала, он единственное, что мне сказал, что я должна открыть ему си#, задать запрос, си# должен обратиться к прологу, пролог должен прорешать, (найти маршрут,по моей задаче), а потом решение вернуть в си#. честно говоря я в шоке, накопала немного информации, например, что пишется DLL и подключается как библиотека, или что собирается исполняемый файл и запускается(создается новый процесс), но я не знаю это то что нужно или нет, может Вы знаете??
Цитата:
Последний раз редактировалось Stilet; 22.05.2015 в 09:38. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Prolog | igrokk | Помощь студентам | 1 | 01.05.2013 11:16 |
PROLOG!!!! | ksu1803 | Помощь студентам | 5 | 12.03.2013 20:40 |
Prolog | qip2005 | Помощь студентам | 0 | 01.12.2011 02:05 |
Prolog | ankatito | Помощь студентам | 6 | 13.11.2011 20:53 |
Prolog | Debro | Помощь студентам | 2 | 26.12.2009 10:16 |