??xml version="1.0" encoding="utf-8" standalone="yes"?>国内精品国产成人,好吊日精品视频,卡通动漫国产精品http://m.shnenglu.com/oomusou/category/2858.html写程序是一件很快乐的事 Since 2006/10/22zh-cnMon, 19 May 2008 17:29:59 GMTMon, 19 May 2008 17:29:59 GMT60STL的std::vector?NET的ArrayListQ何者速度较快? http://m.shnenglu.com/oomusou/archive/2006/11/12/15055.html?OO无双?OO无双Sun, 12 Nov 2006 03:17:00 GMThttp://m.shnenglu.com/oomusou/archive/2006/11/12/15055.htmlhttp://m.shnenglu.com/oomusou/comments/15055.htmlhttp://m.shnenglu.com/oomusou/archive/2006/11/12/15055.html#Feedback7http://m.shnenglu.com/oomusou/comments/commentRss/15055.htmlhttp://m.shnenglu.com/oomusou/services/trackbacks/15055.html之前我发表了如何用C++开发ASP.NETQ很多h怀疑用C++开发ASP.NET有什么好?执行速度上有M优势?W一个问题将在本随W解{,至于执行速度Q我认ؓ既然都是managed codeQC++/CLI、C#、VB应该都一样快Q但C++/CLI有个特色Q就是能在managed code中写unmanaged codeQ类似C#的unsafe codeQ假如在C++/CLI中用unmanaged codeQ是否能在速度上占便宜?我写了以下的E序作测试?br />

Z克服array必须事先宣告大小的不便,STL?NET都有解决的方式,在STL的container当中Q速度最快的是std::vectorQ?NET当中是ArrayListQ所以我x试在同样的程序中Q若使用unmanaged 的std::vector是否会比managed ArrayList快?br />

 1 /*  
 2 (C) OOMusou 2006  http://oomusou.cnblogs.com
 3
 4 Filename    : VectorVsArrayList.cpp
 5 Compiler    : Visual C++ 8.0
 6 Description : Demo std::vector and ArrayList in C++/CLI
 7 */

 8 #include  " stdafx.h "
 9 #include  < vector >
10 #include  < ctime >
11 #include  < iostream >
12
13 using   namespace  System;
14 using   namespace  System::Collections;
15
16 int  main()
17 {
18      //  Use STL std::vector
19     clock_t t1  =  clock();
20     
21     std::vector < int >  ivec;
22
23      for ( int  i = 0 ; i  !=   10000000 ++ i)  {
24       ivec.push_back(i);
25     }

26
27     t1  =  clock()  -  t1;
28
29     std::cout  <<   " std::vector :  "   <<  ( double )t1 / CLOCKS_PER_SEC  <<   "  sec "   <<  std::endl;
30
31
32      //  Use .NET ArrayList
33     clock_t t2  =  clock();
34
35     ArrayList ^  al  =  gcnew ArrayList;
36      for ( int  i = 0 ; i  !=   10000000 ++ i)  {
37       al -> Add(i);
38     }

39     t2  =  clock()  -  t2;
40
41     std::cout  <<   " .NET ArrayList :  "   <<  ( double )t2 / CLOCKS_PER_SEC  <<   "  sec "   <<  std::endl;
42
43      return   0 ;
44 }

执行l果

1 std::vector :  5.618  sec
2 .NET ArrayList :  4.336  sec
3 請按L늹U? . .


执行l果令我讶异Q我原本预期unmanaged的std::vector应该会比较快Q但l果却是managed的ArrayList较快Q我觉得可能的原因是Qmanaged的数据放在CLR内,而unmanaged数据攑֜不同的地方,当unmanaged的std::vector要在managed的执行环境中昄Ӟq要l过marshaling的动作,所以浪费了一些时_cM?NET中用COM的dllӞ也必ȝqmarshalingQ所以速度较慢?br />

回到我第一个问题,用C++开发ASP.NET有什么好?在这个简单的E序里可以发玎ͼC++/CLI的最大特Ԍ让你可以managed和unmanagedE序写在一P同时使用.NET Framework和传lC++的libraryQ如STL、boostQ这是C#所做不到的Q假如你的工E领域已l有很多libraryQ是用C/C++写的Q可能是10几年前的东西Q目前根本没有C#版本的libraryQ而你又急需q些library的function开?NETE序QC++/CLI很方便了,让你同时拥抱C/C++ library?NET FrameworkQ这也是Microsoft开发C++/CLI的原因?br />

l论
在C++/CLI开发managed codeQ执行速度不会比C#、VB快,虽然C++/CLI可以开发unmanaged codeQ但?NET Framework有相对应的支持时Q应先考虑.NET FrameworkQ然后再考虑其它C++自己的libraryQ当然C++/CLI不见的适合所有开发h员,但对于一些开发h员是很方便的?br />



?OO无双 2006-11-12 11:17 发表评论
]]>
如何用C++开发ASP.NET? http://m.shnenglu.com/oomusou/archive/2006/10/22/14002.html?OO无双?OO无双Sun, 22 Oct 2006 04:08:00 GMThttp://m.shnenglu.com/oomusou/archive/2006/10/22/14002.htmlhttp://m.shnenglu.com/oomusou/comments/14002.htmlhttp://m.shnenglu.com/oomusou/archive/2006/10/22/14002.html#Feedback1http://m.shnenglu.com/oomusou/comments/commentRss/14002.htmlhttp://m.shnenglu.com/oomusou/services/trackbacks/14002.htmlASP.NET with Managed C++)Q但Managed C++和C++/CLI的语法不太一P原本的范例无法compile成功Q经q一D늠I之后,l于扑ֈ了用C++/CLI撰写ASP.NET的方式。在q篇文章中,我将一步步的demo如何用C++/CLI开发ASP.NETE序?

 

首先Q徏立一个新的Web SiteQ由于Visual Studio 2005在ASP.NET没支持C++Q所以徏立Web SiteӞ先随侉K一个语a建立?br />


建立一个Web Form名ؓHelloWorld.aspxQ请不要选择Place code in separate fileQ这样Visual Studio 2005会将Event Handler攑֜aspx文g中,可以让aspx.cpp省掉event宣告的程序?br />


使用Web Form Designer做出以下的介面?br />


在Page Directive部分Q将Language=”C#”删除,加上AutoEventWireup="true" Inherits="HelloWorld"QHelloWord为C++的Class名称。也要将<script runat="server"></script>部分删除?br />
 1<%@ Page AutoEventWireup="true" Inherits="HelloWorld" %>
 2
 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4<html xmlns="http://www.w3.org/1999/xhtml">
 5<head runat="server">
 6  <title>Untitled Page</title>
 7</head>
 8<body>
 9  <form id="form1" runat="server">
10    <div>
11      Using C++/CLI in ASP.NET<br />
12      <br />
13      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
14      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
15  </form>
16</body>
17</html>
18

建立C++ ProjectQ左侧选择CLRQ此?NET platform的ProjectQ右侧选择CLR Empty Project卛_Q切C要选择Class LibraryQ这样会多出很多我们不需要的案Q而且最后我们也不会用Visual Studio 2005来compileQ会使用Command Prompt的方式compile?br />


建立HelloWorld.aspx.cpp?br />



加入C++/CLIE序。C++/CLI对ANSI C++做了些扩充,Z和C++内徏的型别与Class做区别,Managed的Class需加上ref modifierQ而Managed的Object要加上^。最重要的,IDE支援Intellisense方式写ASP.NET?br />
 1#using <system.dll>
 2#using <mscorlib.dll>
 3#using <system.web.dll>
 4
 5using namespace System;
 6using namespace System::Web::UI::WebControls;
 7
 8public ref class HelloWorld : public System::Web::UI::Page {
 9protected:
10  Button^ Button1;
11  Label^  Label1;
12
13public:
14  void Button1_Click(Object^ sender, EventArgs^ e) {
15    this->Label1->Text = "Hello World";
16    return;
17  }

18}
;

使用Visual Studio 2005 Command PromptR譯C++/CLI?br />
 

使用以下的語法編譯C++/CLI?br />
1cl /clr HelloWorld.aspx.cpp /link /dll /out:HelloWorld.dll


最后只要将HelloWorld.aspx攑ֈc:\Inetpub\wwwroot\下,HelloWorld.dll攑ֈc:\Inetpub\wwwroot\bin\下,完成deployment?br />

l论

很多C++无法开发ASP.NETQANSI C++的确不能Q但C++/CLI则可以,事实上,M.NET下的语言都可以开发ASP.NETQ虽然Visual Studio 2005工具不见的支持,但只要透过一些小技巧,你依然可以用妛_Ƣ的.NET语言开发ASP.NET?br />

Reference
ASP.NET with Managed C++ , Soliant, The  code project.



?OO无双 2006-10-22 12:08 发表评论
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            ƷëƬ| Բ͵ĸƷһ| ŷһ| 99˾ƷƵ| þþƷƷۺ| ŷһƵ| ߿av| ձƵ| Ʒ| þþwww˳ɺ˾Ʒ | þþžоƷ23| ŷһƵ| ߹ۿŷ| 99˳ۺ| պӰ| һվ| ëƬһ| ŷۺ77777ɫ| 91þþþþ| ŷһƵ| +ŷ+ձר| ҹƷһ߹ۿ| ºϼ| 鶹Ʒ91| þһƷ| ŷ| ޹Ʒvaڿ| Ƶþþþþþ| պƵĻ| պҹ߳| þó˹| ŷ߲| ŷһþ| ߵӰƷ| 鶹ƷƵ| Ůվþ| ޼| þƵ| ޹Ʒ˾þþ| ¹͵ľƷ| պƵ| ˳һ| ޹ۺ91Ʒ鶹| ŷ| ޾ƷһҾ| ޹ƷҺ245| þþۺ| պһɫav| ŷһƬ| ޸岻| ƷŮwwwˬˬˬ| ŷһ߹ۿ| þ˽˹Ʒva| ߸һ| ŷһ| þùƷþwŮspa| ŷ龫Ʒþþþþ| վ߹ۿƵ| ҹһ| Ůһ| þùھƷƵ| ŷһ| þŷ| vŷvձvv| 鶹9lƷվ| þþƷŷ| ëƬһ| ޻ɫƵ| պgay| ޵һվ| һһþۺϺݺϾӰҵ | ŷƵ| ŷ޳| ƷƵɫporn| Ƶպ| С˵ͼƬ| 鶹þ| ŷƵ߹ۿ| ŷƷӰ| ߵӰƷ| þùֱ| ҹþþþ| ŷƵһ| ޹һaëƬ| ŷպƵ| ޵Ӱѹۿ| ŷfree| Ʒ˿׽| լ66һ| 鶹Ʒ߹ۿ| þþƷۿ| ݺɫۺɫ| ŷۺϹƷһ| ŷ޾Ʒ| һ| ߲պר| Ůһ| þþιһ| Ʒ߹ۿ| ŷ߲| þþ.com| ɫ| ˾þþ| þۺϾþþþ88| һ| þþƷ91Ʒ| պһ߹ۿ| ŷպһ| һŷպ| һ| ŷƵ߹ۿ| þùպ| ŷһƷɲ | ŷƷþþþþðĦ| Ʒþþþþ| Ƶһ߹ۿ| ³ʦӰԺһ| ߹ۿ| ŷһƬ100| þó˾ƷӰ| ߹ۿ| þùƷþþƷ| Ʒ˿jkˮ| óƵ| ߻ɫ| 91þþƷҹҹ| ޼ӰԺ| ƷŮһ߹ۿ| ŷպĻ| ŷѸ߹ۿ| һ0| ŮƵһ | ҹ߹ۿһ| Ů˾þþþëƬ| þùƷ72ѹۿ| þþƷ| һƷƵ| þwww˳ɿƬ | þþþþ| ŷ| ŷƵ| ŷһѰ| רһ| ŷƵ| ɫ5¾þþƷ| Ʒŷ| þƵ| ݺɫݺݺݺɫۺ| Ƶһ| ŷһ| ŷӰԺҹ| þþþþþþ| һþ| þƵƷƵ| ߹ۿ91Ʒ| ŷƷһ| ŷ߹ۿһ| ŷֱjizzŷ20| ޹ϼ| ŷwww| պҹӰav| þþƷ| Ƶ| þƵ| ҹҹˬavƷ | ޴ŮƵ| ߹ۿƷ| ޻һ| պav| һavӰ| av߲һ | ޹һ| þ˿Ƶ| ҹƷƵ| պƷһ| vavaŷva| ƵĻ| 99ƷƵ| һɫþ| ھƷþþþӰԺ| ƵƷ| ˳վ777ɫ| þһ| ŷһþþƷ | ŷһþþ| ŷĻ| ŷպһ| һ| ŷ| ŷӰ߹ۿ| ޶߹ۿ| ŷ.www| ŷһ| ŷպ| þҹɫƷmv| ŷƵһ߹ۿ| ŷղ| һڵ| ҹƵþþ| þó97Ļ|