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

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

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

 

2006.03.05夜

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

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

TIM中c2s的事件反應模型

     摘要: 為了更容易理解后面的內(nèi)容,先給出登錄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 閱讀(491) | 評論 (0)編輯 收藏

大寫字符串快速轉(zhuǎn)換成小寫的函數(shù)

 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 閱讀(1030) | 評論 (0)編輯 收藏

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

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

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

世界上可愛的人真多

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

階段式服務器模型(SEDA)

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

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

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

STL中string的初始化問題

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

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

建個程序,編譯它,是通不過的。原因是Buffer沒有初值,調(diào)用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數(shù)組,因為整個程序中其它地方我都用了string。
(2)STL為什么這么設計?
難道定義Buffer以后,還沒有分配空間?如果已經(jīng)有空間,為什么不用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;

有朋友發(fā)現(xiàn)一個錯誤:
看到一個明顯錯誤的做法:str.reserve(NLEN)之后直接去sprintf。要知道reserve只是把capacity擴充到NLEN,并不會擴充size。對于某些標準庫實現(xiàn),這樣的做法極端危險,它會破壞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 的最大好處就是空間大小可以自動增長,不會發(fā)生緩沖區(qū)溢出(安全問
題)。否則,又何必付出緩慢的堆上分配的代價呢?——除非要把結(jié)果傳回去,那還
有意義;但最初蘇益彧提出的問題中并不存在這樣的需求。

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

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

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

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

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

詳細請參閱:

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

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

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

導航

統(tǒng)計

常用鏈接

留言簿(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>
            亚洲高清二区| 亚洲视频综合| 麻豆成人在线| 1204国产成人精品视频| 欧美1区2区| 欧美女激情福利| 亚洲男女自偷自拍| 午夜精品剧场| 在线观看免费视频综合| 欧美激情综合色综合啪啪 | 亚洲国产婷婷香蕉久久久久久99| 可以免费看不卡的av网站| 亚洲日本乱码在线观看| 亚洲精品一区二区三区蜜桃久| 国产精品高清网站| 久久蜜桃精品| 欧美日韩一区二| 久久精品欧美日韩精品| 男女激情久久| 亚洲欧美在线免费| 久久综合给合| 久久精品日产第一区二区三区| 91久久久久久久久久久久久| 99精品久久久| 亚洲高清网站| 亚洲影视在线| 亚洲伦理网站| 欧美专区在线观看一区| 日韩视频第一页| 欧美一区影院| 中文精品99久久国产香蕉| 久久av老司机精品网站导航| 在线亚洲免费视频| 久久久综合免费视频| 亚洲淫性视频| 欧美激情视频一区二区三区在线播放 | 亚洲黑丝一区二区| 国产三级精品三级| 亚洲精品中文字幕在线观看| 国产一区二区日韩| 一本一本久久a久久精品综合妖精| 激情综合五月天| 亚洲一区影音先锋| 一区二区三区四区五区精品| 久久亚洲综合网| 久久狠狠亚洲综合| 国产精品高潮视频| 亚洲看片网站| 亚洲精品一二三区| 久久婷婷国产综合精品青草| 欧美中在线观看| 国产精品久久二区二区| 亚洲日本中文字幕区 | 麻豆精品视频| 久久一区亚洲| 国内伊人久久久久久网站视频| 亚洲色图自拍| 亚洲一区二区三区免费视频| 欧美精品一线| 亚洲精选视频免费看| 亚洲激情第一区| 蜜桃久久精品乱码一区二区| 巨乳诱惑日韩免费av| 精品99一区二区| 久久久久国产精品一区二区| 久热精品在线| 亚洲成人在线| 欧美.www| 亚洲三级电影在线观看| 99精品视频免费观看视频| 欧美福利在线| 99视频精品免费观看| 亚洲香蕉网站| 国产精品亚洲精品| 午夜欧美视频| 免费在线观看精品| 亚洲精品乱码久久久久久蜜桃91 | 午夜精品亚洲一区二区三区嫩草| 午夜精品亚洲| 国产一区美女| 欧美成人a视频| 亚洲美女黄网| 欧美在线视频一区二区| 国产专区欧美专区| 免费欧美网站| 在线亚洲成人| 久久久久久久久伊人| 亚洲大胆av| 欧美视频一区二区三区四区| 亚洲欧美日韩在线一区| 久久阴道视频| 中文国产成人精品| 国产亚洲免费的视频看| 久久婷婷色综合| 亚洲免费高清视频| 久久久国产精品一区二区中文| 樱桃成人精品视频在线播放| 久久综合网色—综合色88| 99精品福利视频| 久久精品人人做人人爽| 日韩午夜中文字幕| 国产一区二区三区自拍| 欧美电影免费观看网站| 亚洲欧美日韩国产中文在线| 欧美激情精品久久久久久久变态| 亚洲午夜久久久久久久久电影网| 国产亚洲精品久久久久婷婷瑜伽| 欧美成人中文字幕在线| 亚洲字幕一区二区| 亚洲国产欧美在线人成| 久久精品91久久香蕉加勒比| 亚洲精品一区二区三区福利| 国产一区二区成人久久免费影院| 欧美国产国产综合| 久久精品免视看| 一区二区三区四区在线| 欧美大色视频| 欧美中文字幕精品| 中文国产亚洲喷潮| 亚洲国产日本| 在线不卡中文字幕| 国产亚洲精品久久久久久| 欧美日本久久| 欧美精品免费播放| 久久久蜜臀国产一区二区| 亚洲综合导航| 亚洲永久在线观看| 艳女tv在线观看国产一区| 亚洲电影自拍| 欧美大片网址| 欧美二区视频| 欧美成人亚洲成人日韩成人| 老司机午夜免费精品视频| 久久精品国产77777蜜臀| 亚洲免费视频成人| 亚洲一区二区网站| 亚洲午夜成aⅴ人片| 在线一区视频| 亚洲欧美日韩第一区| 亚洲专区一区二区三区| 中文久久精品| 午夜精品福利在线| 午夜精品一区二区三区在线播放| 亚洲天堂av电影| 亚洲在线观看| 欧美一区二区三区日韩| 欧美一级播放| 久久精品一二三| 开心色5月久久精品| 欧美va亚洲va香蕉在线| 亚洲国产91精品在线观看| 亚洲国产视频直播| 亚洲精品一二区| 亚洲一区二区3| 欧美在线一区二区| 久久这里有精品视频| 欧美ed2k| 国产精品成人播放| 国产免费观看久久| 精品不卡在线| 99国产精品自拍| 午夜视频一区二区| 久久久久久久久一区二区| 欧美成人a视频| 亚洲精品中文字| 午夜精品久久久久久久蜜桃app| 欧美亚洲午夜视频在线观看| 久久久久久午夜| 欧美激情亚洲激情| 国产精品久久亚洲7777| 一区二区视频免费完整版观看| 亚洲国产精品成人综合| 亚洲视频一二区| 久久亚洲国产精品一区二区 | 国产精品99久久久久久久女警 | 亚洲人在线视频| 亚洲欧美日韩国产综合| 久久天天躁狠狠躁夜夜爽蜜月| 欧美久久九九| 国产在线观看91精品一区| 亚洲精品一区二区三区99| 欧美一区久久| 亚洲国产精品久久人人爱蜜臀| 亚洲一区二区三区在线观看视频| 久久久久久久久岛国免费| 欧美午夜精品久久久久久人妖| 国产综合网站| 亚洲女优在线| 欧美黄色日本| 欧美一区二区三区免费观看视频| 欧美电影打屁股sp| 黄色成人片子| 午夜精品一区二区三区电影天堂 | 午夜精品一区二区三区四区| 蜜桃伊人久久| 欧美一区二区在线免费观看| 欧美日韩一区成人| 亚洲精品一区在线| 欧美成人精品福利| 欧美亚洲一级片|