易语言支持直接写linux程序在windows下调试,然后可以在linux在直接运行.这点觉得挺强的.不知道其它语言是不是也支持这样:在windows下编译,然后可以到linux下执行.虽然只是可以写控制台程序,但是已经足够了.作为专业服务器管理人员,没见几个服务器装桌面的. 废话少说,写个"hello,world!".关于怎样使用易语言写linux程序网上就一篇文章还是易语言官方的帮助文档:用易语言开发Linux程序的方法 链接: 其它的资料连官方论坛都多少,呵呵. 其实,按照这个文档说得来做肯定是没有问题.但是笔者自以为自己linux学的还算凑合.看到帮助文档里说把*.so的文件拷贝到程序的当前目录,/usr/lib或者/lib下,我一想这不是动态链接库文件嘛.要动态加载的,需要执行ldconfig来添加到系统链接库缓存.拷贝文件,改权限,执行ldconfig都没有错误.以为这样就成了,把写好的程序拷到linux下,改权限执行,死活执行不了.郁闷.按文档说的,把要用到的so文件放在程序目录下,/lib下,/usr/lib下,咋试都不行.也请教了N多人,google,baidu都没有结果.后来实在没办法了,扔那不管了.后来,因为测试一个东西重启能不能自启动.重启了一下机器.最后实在没事干了,再一执行原来写的程序终于看到了传说中的"hello,world!",帅!仔细想了下,什么原因呢?细细的想了下也没想出来.然后决定用另外一个虚拟机试下,这次啥都不动,直接把写的程序和用到的so传到系统里,然后一执行OK了.然后把用到的so剪切到/lib执行发现没问题.再把子用到的so剪切到期/usr/lib/发现也没问题.要不咱把用到的so,删除吧.提示:"Can load the library 'krnrn.so'",呵呵,看来没有还是不行地.好了.所以把正确的执行过程写一下. 易语言新建立一个linux控制台程序: .版本 2 .程序集 程序集1 .子程序 _启动子程序, 整数型 标准输出 (, “helo,world!” + #换行符) 返回 (0) 只写这些东西,然后编译,文件名用a,提示: 附: 运行时依赖文件列表: -- 支持库文件(必需): D:\Program Files\e\linux\krnln.so OK,linux环境说一下:Linux oracle.rainbird.net 2.6.9-55.ELsmp #1 SMP Wed May 2 14:28:44 EDT 2007 i686 i686 i386 GNU/Linux 内核是2.6.9,用户是root. 用winscp把a和krnln.so拷贝到linux内然后切换到终端执行 chmod 755 a;chmod 755 krnln.so.执行一下,看看效果 附件里是执行结果,和a.e的源文件,不知道为什么我编辑的时候不能插入图片不能加超链接.希望51cto负责的哥们看到了帮忙看下啥原因. 好了,就到这里,没什么技术含量.
|