windows下编写程序分动态编译和静态编译,linux下同样也分。
Linux下运行程序的步骤:
以上就是在linux下执行程序时所做的,windows下也大同小异。
动静态链接:
动态链接:依赖于第三方库,在执行程序时,当需要库函数时,会直接进到库里去找,整个程序本身不具有需要的库,所以动态链接的缺点就是不利于移植,因为可能会因为库的原因而出错,但也有有点就是不浪费资源,生成的文件占内存小。
静态链接:它不依赖于第三方库,当执行程序时,会直接将第三方库整个加载到它程序本身,相当于绑定在一起,但是缺点就是比较的占内存,也浪费资源,但是比较好的是,移植性相对高一点,不是特别容易出错。
生成静态可执行文件命令