易语言静态编译和独立编译的区别
1、库文件和程序文件不同,编译是把支持库文件和程序分开来,如果给别人去用,别人却没安装易语言,就要把支持库文件带上给那人才能用。但是静态编译是把支持库文件打包到程序里去.这样,如果对方没装易语言也照样可以正常使用和独立编译。
2、可执行文件的过程不同,静态编译是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。但是编译就是把可执行文件和支持库一起写出到外部,在需要的时候直接对其中一个支持库进行搜索某一条命令。
3、编译过程不同,通俗的说静态编译是将支持静态版的支持库静态链接(需要链接器,一般用VC6的)到EXE中去,库就在EXE中,用时不用释放。 PS:支持静态的支持库是易公司出5.0时重新整理并发布的。和原来的不一样,而且通过链接器编译后,也和原来的独立编译大大的不一样,使静态编译出的EXE更像是VC的程序,只是像,并不是,
我认为最主要是这几个:
独立编译:独立编译时相当于把需要的支持库“绑”在一起,运行时把需要的支持库释放到一个系统临时文件夹的子目录内,然后运行. |软件体积大
静态编译:静态编译时支持库已经和exe结合一起了,运行时不用任何的支持库支持就可以运行.|软件体积相对小,推荐!
编译:编译时把软件自身和所需支持库“放到”同一目录,运行时直接打开软件就可以运行了,但支持库与软件本身须在同一目录(注:在自己电脑上可以不再同一目录,因为易语言目录已经有了这几个支持库:在别人电脑里必须在同一目录)|不方便使用,体积大
我认为是主要是这几点区别,别吐槽哦,希望能帮到你!(〃'▽'〃)
一、编译。这种方式只是把源码变成EXE文件,不把所用到的支持库一起打包进程序中。优点是程序体积小,可以有效地减少某些杀毒软件的误报;缺点是只可以在装有易语言的机器上使用,在没有安装易语言的电脑上会说缺少支持库。所以,在使用这种方法编译的时候,最好是让系统自动把所用的支持库写到目标程序所在文件夹,这样方便打包到没有易语言的电脑上使用。
二、独立编译。在易语言4.X版中,可以把支持库写到EXE程序中,方便在没有易语言的电脑上使用。缺点是程序体积大,容易误报。在易语言5.X版中,独立编译改为静态编译,不再把支持库整个地打包到程序中,而是把用到的命令打包,所以体积有所减小,也减少了误报。但是静态编译需要使用外部的链接器,如果设置不好,则无法编译。
三、编译成安装文件。这种方式的编译,可以直接生成安装文件,方便在其他电脑中进行软件的安装。缺点是不小心就会把源码也打包进去。
望采纳!