#起因:老师在课堂上要我们展示自己的程序,同学们一个个拿着u盘把自己的exe拷贝的讲师电脑上,有的人的u盘文件被隐藏了。。。有的人的u盘报毒。。。有的人的u盘显示错误。。还有的人的exe无法运行!!!这就尴尬了啊,成果无法展示,成绩就凉了啊。。。
#分析原因
##1.有的用vc++ 6.0,还特么是中文不稳定版,有的vs2010,有的vs2019,有的vs cdoe,cmake和其它的还比较少见,发布平台不一致,可能是新版本不兼容旧版本,或者是版本太旧了缺乏某些新的库
##2.32位和64位的问题
9210年大部分新系统都是64位的,64位的exe自然不能在32位机子上运行。。。。然而发布32位的软件能被32和64兼容。值得一提的是,新软件正在淘汰掉32位,就连操作系统也是这样的开发趋势
##3.debug和release版本的区别
老师看到有人的exe打不开还不知道原因就怒了。。。说你们连debug版本和release版本都分不清吗??当代大学生唉,调试版本和发行版本居然都分不清楚
debug调试:生成的exe文件较大,包含大量调试信息,中间产生的信息也保留下来方便你中断调试查看变量的值,这时在文件夹里双击运行exe是有可能出错误的,程序图片显示不了啊什么的,因为这个exe还要重新构建调整所以会出现这样的情况。
release发行版:软件发布时使用的版本,编译器对代码进行了优化处理是编译后产生的中间码运行更快更简洁,所以发行版的exe较小。
##4.静态链接和动态链接的区别
Dynamic Link Library - dll,动态链接库
程序无法运行大部分时候与这个东西脱不了干系,缺少dll或者dll版本不对。
静态编译则是将用到的库函数重新编译进exe里,这样生成的exe就会比较大个,而且运行速度较慢。
#我是谁??
如有错误,欢迎指正拍砖
我的公众号:An idea
正在成为geek的coder
标签:exe,##,32,dll,64,版本,链接,打不开 来源: https://blog.csdn.net/weixin_43031092/article/details/104447988
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。