上个月突然看到Prolog这门语言,它特殊的语法吸引了我,但是经过我一段时间的学习,发现它也不像网络上传说的那样神奇,不过我依然对它很感兴趣,有前辈说Prolog本身并不强大,但是用来作为一门辅助语言解决一些特殊的问题还是很有效的,碰巧我是干C#的,就查了查怎样把Prolog跟C#结合起来,但是我百度出来的资料实在只能用稀少来形容。没办法只能Google了,话说老D的hosts文件挺好用的。

  好在作为一名高级码农我也会一点English,思考了半天终于把how to use Prolog 这几个单词打出来了,然后神奇的Google帮我给了几个选项

让我不禁感叹,科技改变世界,代码改变世界。

  虽然我英文书写能力不强,但是阅读能力还是可以的,找了几篇帖子终于找到了几种解决方案,比如P#,SWI-Prolog等等。。

  经过几番对比,最终我选了SWI,http://www.swi-prolog.org/ 这是它的官网,里面有算是比较全面的帮助文档等等,然后又是一番折腾之后确定了需要的两个文件,一个SWI-Prolog的安装程序,还有一个DLL文件,这两个文件都分为32位跟64位两种,首先安装SWI,然后创建一个控制台程序,引用SwiPlCs.dll。

  好了,准备工作做完了,接下来就开始编码了,我参照官方给的例子写了一段code,然后怀着激动的心情按下ctrl+f5 然而结果跟我想象中的并不一样,like this

这是shenmegui?怎么跟说好的不一样?我急忙上google查资料,果然,国外大神也有碰到这个问题的,官网也有关于这个错误的说明,机智的我依靠扎实的英语基础加上浏览器的网页翻译功能终于理解了一大半,大概意思就是没有配置环境变量,大概跟java是一个道理,于是我添加了SWI_HOME_DIR这个环境变量,然后继续运行,当然,并没有什么卵用,依然是上面的错误,接下来我试了数十种方法,换成32位的dll,装一个win7的虚拟机加vs2010,装xp的虚拟机加vs2010,各种方法都试了,结果依然是这样,折腾了几天我几乎放弃了。

  碰巧今天晚上无聊,又google了一下关于这个的问题,突然在官网看到这个文档http://www.swi-prolog.org/pack/file_details/swicli/doc/introduction-SbsSW.htm

里面说把bin目录添加到PATH环境变量,我抱着试一试的心态在代码中加上这一句 

Environment.SetEnvironmentVariable("PATH", @"C:\Program Files\swipl\bin");

然后ctrl+f5,然后这个文章就结束了,妈的真的可以,折腾了这么久就是因为这个原因

SWI-Prolog的更多相关文章

  1. swi prolog 与c#

    最近,玩了一下prolog语言,感觉还是很有意思.由于我是学c#的,所以就不禁想看看c#如何与prolog进行结合,在网上找了一下,发现有个swi prolog对c#的dll,下载官网:http:// ...

  2. (原)在ubuntu 中安装 swi prolog 和 简单的使用

    参考网址:http://www0.cs.ucl.ac.uk/staff/mahmed/teaching/intro.html 参考网址:http://www.swi-prolog.org/build/ ...

  3. 七种Prolog解释器/编译器

    http://blog.sina.com.cn/s/blog_494e45fe0100lh1v.html PROLOG 人工智能领域常用的语言,开发自然语言分析,专家系统,以及所有和智能有关的程序,都 ...

  4. eclipse 使用prolog编程

    第一步:在电脑上安装swi-prolog 相应环境下载地址http://www.swi-prolog.org/download/stable 第二步: eclipse-help-install new ...

  5. 人工智能技术导论——逻辑程序设计语言PROLOG

    最近在复习人工智能导论,里面介绍了一种逻辑关系语言PROLOG,但这本书里面用到的编译器是Turbo PROLOG,这个编译器早就被淘汰了,我后来找的了它的升级版Visual PROLOG,但一些语法 ...

  6. how to use Prolog in C#? SWI-Prolog

    上个月突然看到Prolog这门语言,它特殊的语法吸引了我,但是经过我一段时间的学习,发现它也不像网络上传说的那样神奇,不过我依然对它很感兴趣,有前辈说Prolog本身并不强大,但是用来作为一门辅助语言 ...

  7. DOM解析XML报错:Content is not allowed in prolog

    报错内容为: Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. 网上所述总结来 ...

  8. Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)

    org.apache.jasper.JasperException:xxx.jsp(1,1) Page-encoding specified in XML prolog (UTF-8) is diff ...

  9. prolog 阶段总结

    http://blog.csdn.net/mwsong/article/details/1766382   到现在为止,我们已经对Prolog有了一个基本的了解,现在有必要对我们所学过的知识做一个系统 ...

  10. prolog 规则

    规则 规则由几个互相依赖的简单句(谓词)组成.用来描述事实之间的依赖关系,如:因果关系,蕴含关系,对应关系 规则的实质就是存储起来得查询 其语法结构如下: head:-body head 为谓词的定义 ...

随机推荐

  1. div 浮动框

  2. C# Windows Phone App 开发,自制LockScreen 锁定画面类别(Class),从【网路图片】、【Assets资源】、【UI】修改锁定画面。

    原文:C# Windows Phone App 开发,自制LockScreen 锁定画面类别(Class),从[网路图片].[Assets资源].[UI]修改锁定画面. 一般我们在开发Windows ...

  3. flex4 一些项目使用的技术

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  4. CenOS下安装jdk

    1. 安装JDK1.7.0 下载完成后在取得root权限后执行: [root@sea sea]# sudo rpm -ivh /目录/jdk-7-linux-x64.rpm 执行结果: Prepari ...

  5. 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)

    在win7系统下, 我用的是vs2012版本号. Visual Assist沿用了快10年的界面,最终有了更新,变得更加适合Win8 以及 VS2012的主题风格了 ,这也是以后软件的发展趋势,仅仅是 ...

  6. AWR报告生成

    ORACLE数据库两个比較重要的问题查看报告:awrrpt.sql,ashrpt.sql 生成报告的脚本一般存放在例如以下路径: /home/TEST/db/tech_st/11.2.0/rdbms/ ...

  7. 【6】和作为连续序列s

    称号:输入一个整数s,并打印出所有s整数的连续序列(含有至少2的数量). 如输入9,输出2.3.4和4.5两个序列 方案一:因为序列至少要2个数,则两个数上限值为(1+s)/2,我们能够枚举该序列的起 ...

  8. js多物体任意值运动

    假如有两个div,一个div要变宽,一个div要变高,你怎么写呢? 哎呀,写2个方法啊,一个控制div1变宽,一个控制div2变高啊 那么你的代码,是不是下面这样的呢! 示例:Div变宽和变高 现象: ...

  9. JTree demo

    JFrame居中方法一:   setLocationRelativeTo(null); 注意:必须在整个frame初始化完成后再加上此语句,否则将显示在屏幕右下角 方法二: private Dimen ...

  10. Android多线程的研究(8)——Java5于Futrue获取线程返回结果

    我们先来看看ExecutorService操作的方法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5 ...