1、编译是把支持库文件和程序分开来,如果给别人去用,别人却没安装易语言,就要把支持库文件带上给那人才能用.

2、静态编译就是把支持库文件打包到程序里去.这样,如果对方没装易语言也照样可以正常使用和独立编译.
3、在易语言中,想把一个易语言源码程序变成一个可执行的EXE软件程序,有三种编译方式:
这种方式只是把源码变成EXE文件,不把所用到的支持库一起打包进程序中。
优点是程序体积小,可以有效地减少某些杀毒软件的误报;
缺点是只可以在装有易语言的机器上使用,在没有易语言的电脑上会说缺少支持库。
在易语言4.X版中,可以把支持库写到EXE程序中,方便在没有易语言的电脑上使用。
缺点是程序体积大,容易误报。在易语言5.X版中,独立编译改为静态编译,不再把支持库整个地打包到程序中,而把用到的命令打包,所以体积有所减小,也减少了误报。
但是静态编译需要使用外部的链接器,如果设置不好,则无法编译。
三、编译成安装文件。
这种方式的编译,可以直接生成安装文件,方便在其他电脑中进行软件的安装。
缺点是不小心就会把源码也打包进去。
我自己解决了。在里面有个readme.md的文档,里面介绍了怎么用cmake-gui编译opencv_contrib。
编译的是opencv3.1.0,用的是opencv源码里面的cmakelist.txt,然后改里面的参数。按上面步骤走就行了。果然问题太菜,没人理会。
易语言支持编译和静态编译两种方式,主要区别如下:
- 编译:将易语言源代码编译为易语言字节码,xn--siqu5ly1h2pg.ec。
- 静态编译:将易语言源代码编译为机器码,生成独立可执行文件,扩展名为.exe。
- 编译:需要易语言虚拟机作为执行环境,才能运行字节码。
- 静态编译:不需要易语言虚拟机,直接在操作系统下运行。
- 编译:执行效率相对较低,受易语言虚拟机和操作系统的影响。
- 静态编译:执行效率高,机器码直接在操作系统下运行,无中间环境。
- 编译:字节码可以被反编译,源代码结构易被破解。
- 静态编译:机器码难以被反编译,有利于程序的封装与保密。
- 编译:易语言字节码具有跨平台特性,同一字节码可在不同操作系统下运行。
- 静态编译:机器码只能在特定操作系统下运行,不具备跨平台能力。
- 编译:适用于程序测试与调试,或者要求跨平台的应用。
- 静态编译:适用于程序发布与应用,或者对执行效率和程序安全有较高要求的场合。
- 编译是指将程序代码编译成可执行文件,而支持库文件则需要单独安装。如果给别人去用,别人却没安装易语言,就要把支持库文件带上给那人才能用。但是静态编译是把支持库文件打包到程序里去。这样,如果对方没装易语言,也可以使用该程序。
- 静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译)。