⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_64354.htm

📁 vc
💻 HTM
字号:
<p>
序号:64354 发表者:1.414 发表日期:2003-12-10 11:53:39
<br>主题:请问,VC与VC.NET谁的效率更高?
<br>内容:听说,VC.NET编译后并不是真正的可执行代码,而是需要需要解释执行的中间代码,所以小弟我一直有个疑问,对于同一个MFC程序,用VC和VC.NET编译,哪一个产生的可执行代码效率更高?谢谢。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:michael 回复日期:2003-12-10 12:09:37
<br>内容:&nbsp;&nbsp; VC.NET可以编译两种代码,一种是托管代码,另一种是非托管代码。<BR>&nbsp;&nbsp; 非托管代码编译好以后就是二进制的代码。这种代码现在效率高,而且用VC.NET编译会比VC6效率高(要在打开G7选项的情况下)。<BR>&nbsp;&nbsp; 非托管代码编译以后生成的就是IL伪代码,需要.NET的CLR中的JIT即时编译成native code。 不过在一些特定环境下托管代码的执行速度还是会高过非托管代码呦。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:LOVEYUAN 回复日期:2003-12-10 14:15:19
<br>内容:长见识了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:1.414 回复日期:2003-12-10 15:20:31
<br>内容:哦!<BR>那大哥所说的“不过在一些特定环境下托管代码的执行速度还是会高过非托管代码呦。”是怎么样的特定环境?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:michael 回复日期:2003-12-10 17:41:53
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;比如说做了一个多媒体程序。就比如说您写了一个MPEG-4解码程序吧。但是您为了绝大多数机器全能跑您的程序,您没有对您的代码这对特定的指令集优化。但是托管代码就不同了。如有两台机器A、B。A支持SSE指令集,B支持SSE2指令集。这两个指令集是intel专为对媒体应用设计的。.NET的CLR中的JIT会智能的识别各种不同的CPU。针对A生成的native code是针对SSE优化过的。针对B生成的native code是针对SSE2优化过的。<BR>这就比非托管代码效率高多了,倒不是非托管代码不能进行这种优化,只是针对SSE2优化以后程序就只能跑在P4的机器上了。其他不支持SSE2的CPU比如AMD系列就不能跑。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ripens 回复日期:2003-12-20 15:27:15
<br>内容:同意michael 的看法
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:1.414 回复日期:2003-12-31 15:33:23
<br>内容:哦,但是在vc.net下要怎么设置让它生成不同的代码呢? <BR>分先替你加上。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:michael 回复日期:2003-12-31 15:43:50
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;用VS.NET的应用程序向导做的程序不需要操心这件事。您选MFC工程的时候就生成二进制代码。选.NET工程的时候就生成托管代码。不用自己操心。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:1.414 回复日期:2003-12-31 16:06:37
<br>内容:哦,谢谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -