青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我自閑庭信步,悠然自得,不亦樂乎.

                                       ------ Keep life simple
GMail/GTalk/MSN:huyi.zg@gmail.com

 

2006.03.05夜

一個周末過完了。
今天晚上腦子比較清醒,想清楚了tim中好幾個問題。
同時也想TT了,一轉眼,四個月沒見面了吧,仿佛昨天還在一起吃米線,還在一起上圖書館,還在寒冷的夜里出去買柚子,病了還有人照顧我,一切都是歷歷在目,不過再一算,已經一年多了吧。
TT老婆,我會一輩子愛護你,關心你,照顧你。今天晚上也和朋友提起,我告訴他我其實沒什么理想,只要能幸福的和TT生活在一起,就足夠了,應該說,這才是我真正的理想。
有幸福的家,一定會有成功的事業。
o_復件 009.JPG

posted @ 2006-03-05 22:55 HuYi 閱讀(202) | 評論 (0)編輯 收藏

TIM中c2s的事件反應模型

     摘要: 為了更容易理解后面的內容,先給出登錄jabber服務器的交互包。 登錄的xml片斷Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1C:  2<?xml version="1.0"?>...  閱讀全文

posted @ 2006-03-03 13:40 HuYi 閱讀(487) | 評論 (0)編輯 收藏

大寫字符串快速轉換成小寫的函數

 1/* 32-bit, little-endian. suif.liyuan */
 2
 3int zbyter(unsigned int x)
 4
 5{
 6
 7     unsigned int y;
 8
 9     y = (x & 0x7F7F7F7F+ 0x7F7F7F7F;
10
11     y = ~(y | x | 0x7F7F7F7F);
12
13     if (y == 0)
14
15          return 4;
16
17     else if (y & 0x0000FFFF)
18
19          return ((y >> 7& 1^ 1;
20
21     else
22
23          return ((y >> 23& 1^ 3;
24
25 }

26
27 int UptoLow(char* pszString)
28
29{
30
31     char* pByte = 0;
32
33     int* pn4byte = 0;
34
35     int zPos;
36
37     pn4byte = (int*)pszString;
38
39     while (true)
40
41     {
42
43         zPos = zbyter(*pn4byte);
44
45         if (4 != zPos) break;
46
47         *pn4byte++ |= 0x20202020;
48
49     }

50
51     pByte = (char*)pn4byte;
52
53     for (int i = 0; i < zPos; ++i)
54
55         *pByte++ |= 0x20;
56
57     return 1;
58
59}
 
似乎很高效的樣子:)

posted @ 2006-03-03 13:01 HuYi 閱讀(1024) | 評論 (0)編輯 收藏

有新的支持asp.net的http和ftp空間了!

   其實四川電信的吳先生早就為我們提供了服務器,不過無奈網通電信本是冤家,自古就有“南電信北網通”的說法,我這里訪問吳先生提供的服務器,速度非常的慢。所以利用率一直不高。

這里感謝神州通訊的林先生,又為我們提供了服務器和二級域名(huyi.newxz.com),這個空間主要用于存放和TIM項目相關的東西。

世界上可愛的人真多

posted @ 2006-03-03 12:56 HuYi 閱讀(296) | 評論 (0)編輯 收藏

階段式服務器模型(SEDA)

SEDA似乎是近期大家比較關心的一個話題。

http://groups.google.com/group/dev4server/browse_thread/thread/3abd7fddba2401ea/8b9e21b7ce827430#8b9e21b7ce827430

posted @ 2006-03-03 12:00 HuYi 閱讀(703) | 評論 (0)編輯 收藏

STL中string的初始化問題

在郵件列表中有朋友提出:

1//我希望把string賦值10,然后顯示
2string Buffer;
3sprintf( Buffer.begin(),"%d",10);
4MessageBox(NULL,Buffer.begin(),NULL,MB_OK);

建個程序,編譯它,是通不過的。原因是Buffer沒有初值,調用Buffer.begin()返回是NULL,第三句用MessageBox彈出一個NULL的字符串,這是不可取的。

1//改正后的程序
2string Buffer = "a"//我隨便給了個初值
3sprintf( Buffer.begin(),"%d",10);
4MessageBox(NULL,Buffer.begin(),NULL,MB_OK);

但是,上面這段程序,可讀性能差。別人會想:作者為什么給個"a"而不是"b"呢?

所以我想請教大家:
(1)這問題有沒有更好的方法?最好不要MFC,也不用char數組,因為整個程序中其它地方我都用了string。
(2)STL為什么這么設計?
難道定義Buffer以后,還沒有分配空間?如果已經有空間,為什么不用Begin()返回首個字符的地址?這樣做意義呵在?


解答一:

1// 這么定義:
2string Buffer(256'\0');
3// 或者
4string Buffer;
5Buffer.reserve(256);

解答二:
1// 1.使用boost:Buffer = boost::lexical_cast<string>(10);
2// 2.如果不想用boost:
3#include <sstream>
4
5std::stringstream sstr;
6sstr << 10;
7Buffer = sstr.str();
8// 或者:
9Buffer = (std::stringstream() << 10).str(); 

解答三:
 1  std::vector<char> buf(buffer_size, 0);
 2  _snprintf(&buf[0], buffer_size, "%d\0"10);
 3  // 賦值給字符串
 4  std::string str = &buf[0];
 5  MessageBox(NULL, str.c_str(), NULL, MB_OK);
 6//好處:
 7//    1. 使用std::vector避免手動new/delete
 8//    2. 使用stl可以充分利用stl的alloc(如stlport的memory pool)
 9//    3. 使用_snprintf防止溢出
10//    4. std::string = std::vector(安逸:)

解答四:
1  char buf[32];
2  _snprintf(buf, 32"%d"10);//或者用itoa(10, buf, 10);
3  string str = buf;

有朋友發現一個錯誤:
看到一個明顯錯誤的做法:str.reserve(NLEN)之后直接去sprintf。要知道reserve只是把capacity擴充到NLEN,并不會擴充size。對于某些標準庫實現,這樣的做法極端危險,它會破壞string的不變式,導致一系列嚴重問題,比如str.size()str.length()得到錯誤的值。

oscar.ken@gmail.com
 1#ifdef  UNICODE
 2
 3# define tchar wchar_t
 4# define tstring std::wstring
 5
 6#else
 7
 8# define tchar char
 9# define tstring std::string
10
11#endif
12inline tstring FormatString(const tchar* fmt, )
13{
14 static tchar tmp[2048];
15 memset(tmp, 02048 * sizeof(tchar));
16 va_list args;
17 va_start(args, fmt);
18 int re = _vsntprintf(tmp, 2048, fmt, args);
19 va_end(args);
20 return tstring(tmp);
21}

22
23// 如果2048不夠用,可以改造一個template版本

千里馬肝:
如果這樣
那不如直接使用boost::format導出一個stream的string,更安逸(當然會慢一些)
 
PS,對于FormatString為了保證format出來的是一個string,每次memset,個人認為無大必要,不如自動在formatstring的最后每次自動加上\
0  (XD)

如果我沒有記錯的話
_snprintf是不會自動補\0的
而sprintf會
所以要么char buf[
32= {0},要么_snprintf( "%d\0")
另外vector的使用是為了配合“不定長buf”而存在,并非buf[
32]的替代品

Jiong Tu:
你搞錯了,不補0的是strncpy,不是snprintf

吳詠煒:
用 STL 的最大好處就是空間大小可以自動增長,不會發生緩沖區溢出(安全問
題)。否則,又何必付出緩慢的堆上分配的代價呢?——除非要把結果傳回去,那還
有意義;但最初蘇益彧提出的問題中并不存在這樣的需求。

另外順便提一下,如果棧上分配內存大小不固定,也不一定就要改用堆上分配。
C99 支持數組大小運行時決定(而非 C89
/C++98 的編譯時決定),而(不支持
C99 的)大部分 C
/C++ 編譯器也都支持一個非標準的 alloca 函數用于進行棧上
分配。這個函數通常由編譯器內聯實現,需要效率的場合會用得上。

另外,你測出的 
50% 應當是總體的性能下降。純粹的內存分配/釋放操作,堆上分
配和棧上分配的性能根本不在同一個量級,差距通常在十倍以上。

posted @ 2006-03-03 11:20 HuYi 閱讀(4136) | 評論 (0)編輯 收藏

C++ 中大家使用什么樣的事件模型?

WL 提出:
很明顯 C++ 里面沒有一個很好的事件模型,除了 VC7
的統一事件模型之外,不知道大家都用的什么樣的事件模型,都是自己寫的嗎?VC7的統一事件模型不知道性能、開銷如何,文檔太少了。

詳細請參閱:

http://groups.google.com/group/dev4server/browse_thread/thread/5e87109f87d60472/0acd3059709df059

posted @ 2006-03-03 11:16 HuYi 閱讀(433) | 評論 (0)編輯 收藏

僅列出標題
共7頁: 1 2 3 4 5 6 7 

導航

統計

常用鏈接

留言簿(12)

隨筆分類

相冊

收藏夾

友情鏈接

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久国产综合精品女不卡| 在线观看成人网| 亚洲黄色天堂| 欧美一区二区观看视频| 亚洲图片在区色| 亚洲欧美视频在线观看| 欧美在线黄色| 欧美成人一品| 99在线视频精品| 久久精品二区亚洲w码| 久热精品视频在线观看| 欧美日韩国内自拍| 国产亚洲一区在线| 亚洲精品自在在线观看| 午夜视频久久久久久| 狂野欧美性猛交xxxx巴西| 亚洲黄色一区| 中日韩视频在线观看| 欧美主播一区二区三区| 欧美激情四色| 国内一区二区三区在线视频| 99精品国产一区二区青青牛奶| 欧美一区二区三区视频在线 | 好吊一区二区三区| 99精品国产在热久久婷婷| 欧美在线观看一二区| 亚洲狠狠丁香婷婷综合久久久| 亚洲欧美日韩在线播放| 欧美国产三级| 在线视频观看日韩| 久久成人久久爱| 国产精品99久久久久久有的能看 | 国产丝袜美腿一区二区三区| 亚洲人久久久| 蜜桃av一区二区| 欧美一区二区三区免费看| 国产精品成人免费精品自在线观看| 亚洲国产成人精品视频| 久久久999国产| 亚洲一区在线免费| 国产精品都在这里| 亚洲视频在线观看免费| 亚洲激情一区二区三区| 男女精品网站| 亚洲电影在线免费观看| 看欧美日韩国产| 久久精品视频在线免费观看| 国产精品人人爽人人做我的可爱| 宅男精品视频| 日韩视频在线永久播放| 开心色5月久久精品| 国产精品亚洲网站| 欧美一区成人| 亚洲一区二区免费| 国产精品久久婷婷六月丁香| 一本到12不卡视频在线dvd| 欧美国产日韩精品| 另类春色校园亚洲| 黄色成人在线观看| 久久女同精品一区二区| 欧美影院成人| 欧美在线视频观看| 午夜精品久久久久久99热| 欧美三级资源在线| 亚洲一区二三| 亚洲欧美韩国| 激情欧美日韩一区| 欧美激情视频一区二区三区免费| 欧美大成色www永久网站婷| 亚洲精品久久久久久久久久久久久 | 亚洲视频一二区| 亚洲图色在线| 国产日韩欧美视频| 免费在线国产精品| 欧美www在线| 在线视频你懂得一区| 中文无字幕一区二区三区| 国产女优一区| 欧美国产日本| 国产精品久久亚洲7777| 久久午夜电影| 欧美精品免费观看二区| 性欧美xxxx大乳国产app| 久久久久久久97| 亚洲天堂黄色| 久热精品在线| 先锋影音国产一区| 久久久久免费观看| 一区二区三区免费观看| 亚洲欧美国产高清| 亚洲欧洲综合| 亚洲综合另类| 亚洲裸体在线观看| 欧美在线一二三区| 亚洲一区二区在线免费观看| 久久爱91午夜羞羞| 亚洲小说区图片区| 麻豆精品在线观看| 午夜国产精品影院在线观看| 免费欧美在线| 久久免费国产精品1| 国产精品白丝黑袜喷水久久久| 美国三级日本三级久久99| 国产精品久久久| 91久久精品国产91久久| 精品动漫3d一区二区三区免费| 在线一区观看| 亚洲精品免费网站| 久久久久一区| 久久久国产视频91| 国产精品日韩高清| 亚洲精品久久久久久久久久久久| 精品福利电影| 欧美在线看片| 欧美中文字幕在线| 欧美日韩国产不卡| 亚洲电影免费在线观看| 国产一区在线观看视频| 亚洲视频免费看| 99国内精品久久久久久久软件| 亚洲高清自拍| 亚洲精品久久久久久一区二区 | 国产综合色产在线精品| 一区二区三区精品| 日韩视频一区二区三区在线播放免费观看 | 免费国产自线拍一欧美视频| 久久成人人人人精品欧| 国产精品日韩二区| 亚洲永久在线观看| 亚洲制服欧美中文字幕中文字幕| 欧美激情精品久久久久久| 欧美激情bt| 亚洲人成亚洲人成在线观看图片 | 亚洲成在人线av| 久久不射网站| 媚黑女一区二区| **欧美日韩vr在线| 欧美v国产在线一区二区三区| 久久久五月天| 亚洲激情网站免费观看| 欧美高清视频一区| 亚洲精品日韩在线观看| 在线综合欧美| 国产欧美成人| 久久久久这里只有精品| 欧美国产视频在线| 亚洲日本理论电影| 欧美日韩色一区| 亚洲影院一区| 久久综合给合久久狠狠狠97色69| 国语自产在线不卡| 欧美r片在线| 一区二区精品| 久久久久一区二区| 亚洲人成艺术| 国产九九精品| 麻豆精品精华液| 一本久久青青| 久久只有精品| 99一区二区| 国产日韩亚洲欧美| 欧美成人性生活| 午夜一区在线| 亚洲欧洲综合另类在线| 亚洲自拍偷拍网址| 在线观看日韩av电影| 欧美日韩一区二区高清| 午夜视频久久久久久| 亚洲第一免费播放区| 午夜精品婷婷| 亚洲精品日韩久久| 国产视频一区三区| 欧美日韩三级| 噜噜噜噜噜久久久久久91| 亚洲视频自拍偷拍| 欧美黄在线观看| 久久精品国产亚洲精品| 亚洲日本免费电影| 国产亚洲女人久久久久毛片| 黄网动漫久久久| 欧美日韩小视频| 久久免费国产精品1| 亚洲午夜国产成人av电影男同| 欧美1级日本1级| 欧美一区二区视频在线观看2020| 亚洲人成人77777线观看| 国产精品一区在线观看| 欧美电影在线观看完整版| 中日韩美女免费视频网站在线观看| 久久综合久久久久88| 亚洲尤物精选| 一区二区三区高清在线| 91久久精品日日躁夜夜躁国产| 国产一区二区三区的电影| 国产精品久久网站| 欧美电影免费观看高清完整版| 午夜欧美电影在线观看| 亚洲一区二区三区成人在线视频精品 |