GCC二进制文件和MSVC二进制文件之间的区别?
当我使用类似的优化设置编译GCC(使用MinGW)和MSVC(使用Visual Studio)中的大型项目(例如比特币)时,GCC二进制文件为6 MB,MSVC二进制文件为4 MB。
现在我想知道,这是否说MSVC产生更好的二进制文件(我认为更好,因为更小+更快)? 或者这是否意味着什么,它的正义符号信息还是与性能无关的东西?
我期望得到很多评论:只需对它进行基准测试。 但我对差异的原因更感兴趣,而不是确切的尺寸/性能差异本身。
根据这个缩小可执行文件大小的wxwidgets页面,Visual C ++被称为产生一个更小,更快的可执行文件,至少在Windows上。
较小不一定更快。 我的最新汇编大量使用SIMD指令,这些指令可以为一行代码提供一组以上的指令,如AVX SIMD的一些指令,一些用于SSE SIMD和一些用于SSE SISD。 然后可以进行重要的循环展开(保持管道流动),并有许多重复的指令序列。
有些可能通过Eclipse执行与Android上相同的过程,其中编译参数APP_ABI:= all在运行时自动选择为arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86和x86-64生成代码时间。
链接地址: http://www.djcxy.com/p/41901.html