首页 > 代码库 > lingo和高级语言混合编程

lingo和高级语言混合编程

 不久前做算术建模的作业,要用到lingo
并且仍然要重复调配使用lingo 的动态计划
于是在百度上找了下怎么用C++调配使用lingo,最后结果发觉是个坑
于是我就陷进去了,弄了两三牛人搞明白,那里面有一天还没睡觉儿 ……要翘辫子
然而固然弄清楚了,也走了众多弯路,所以要把一点经验记下来,总结概括下来


我用的是lingo11破解免安装版、vs2012。
敞开lingo安装目次下的Programming Samples文件夹,看见有lingod11.h和lingod11.lib。假如要让c++调配使用lingo,务必include “lingod11.h”和调配使用lingod11.lib文件(就是加上这行#pragma comment (lib, "Lingd11.lib")),具体的自个儿百度,废话无几说
参照 http://wenku.baidu.com/link?url=4uPZs0tb8qZZMBZXskuJ7Y-PqyMXwlwtetxpILVCbBNadDHmmHrmDwr49OFa8JbgVN2lgUmk7BUVlyJRhII8g490dGTP1lJvz-7civWkmme
 http://wenku.baidu.com/view/efd21ef8aef8941ea76e05d0.html
当然,你还看见Programming Samples文件夹 下还有众多其它的文件,譬如.java的、.cs的.bas的,这解释明白lingo还供给了其它众多编程背景的接口文件,不仅是c++,假如你有兴致可以自个儿研讨lingo供给 的源代码,注解都是英文的,网上的资料无几,还得靠你自个儿看e134.gif …… 
还有一点儿就是 lingod11.h和lingod11.lib只是供给了lingo函数的调配使用接口,具体的成功实现在安装目次下的众多.dll文件里边,所以假如你用的是免安装破解版,就得把全部的.dll文件复制到c++手续的目次下,否则c++是找不到.dll文件的,也就没有办法调配使用了
 下边简单说说怎么在lingo和c++里写调配使用的代码
只能传交double类型的数值,办公原理约略是共享一个内存中的数值地区范围
在lingo里用@pointer函数把数值传交给c++还是从C++接纳数值
在C++里就复杂一点了,要运用lingod11.h里边定义的 LSsetPointerLng函数成功实现数值传交。首先要pLSenvLINGO pLINGO;//定义开始工作lingo的指针。
这处引荐lingo的教程,自个儿去看
http://pan.baidu.com/s/1pJ8vGSV
度娘云盘下载
假如手续编好,这处就遇到一个最坑爹的问题,你发觉怎么都是运行不正确,不过在lingo的UI界面就是可以运行成功。
最终我看了看log文件,原来是

THE MODEL DIMENSIONS EXCEED THE CAPACITY OF THIS VERSION
哈哈哈,原来破解版就是个坑啊,lingo的dll文件根本没有破解,怎么办
到网上找了十几个lingo的版本,甚至于连lingo8这种16位的老版本都被我下载了
最终在csdn找到达真正破解可用的lingo11破解dll,资源珍贵啊,我仍然拿来共享了,就在?我 的度娘云盘里

 http://pan.baidu.com/s/1pJ8vGSV
大家且行且爱惜吧…… 


lingo和高级语言混合编程