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

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

                                       ------ 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>
            亚洲自拍偷拍麻豆| 亚洲欧美日韩专区| 欧美日韩一本到| 欧美精品一区三区在线观看| 久久网站热最新地址| 久久综合九色九九| 免费中文字幕日韩欧美| 麻豆精品视频| 欧美人在线观看| 国产精品久久久久久久久借妻| 欧美一区二区高清| 国产精品亚洲一区| 国模叶桐国产精品一区| 亚洲福利电影| 亚洲免费一在线| 玖玖在线精品| 亚洲国产精品久久久久| 欧美jizzhd精品欧美喷水| 欧美福利在线观看| 中文欧美字幕免费| 久久精品中文字幕免费mv| 欧美激情二区三区| 国产欧美一区二区三区视频| 亚洲国产老妈| 性做久久久久久| 欧美丰满少妇xxxbbb| 一本色道久久综合狠狠躁篇怎么玩 | 最新国产成人av网站网址麻豆| 一区二区三区精品国产| 久久久久99精品国产片| 91久久综合| 久久精品国产综合精品| 欧美国产先锋| 国产午夜精品理论片a级探花| 91久久久久| 久久手机免费观看| 宅男精品视频| 欧美精品一级| 在线观看日韩www视频免费 | 欧美成人午夜视频| 亚洲自拍偷拍麻豆| 欧美日韩国产综合网| 亚洲电影免费观看高清完整版在线观看 | 久久久中精品2020中文| 国产精品久久久久久久久免费樱桃 | 久久男人资源视频| 国产欧美一区二区三区久久人妖 | 黑丝一区二区| 午夜一级久久| 欧美风情在线| 国产精品国产自产拍高清av王其| 亚洲黄色大片| 免费观看欧美在线视频的网站| 亚洲午夜一区二区三区| 欧美日韩国产区一| 日韩视频免费观看高清在线视频| 玖玖国产精品视频| 久久精品日产第一区二区三区| 国产欧美亚洲精品| 午夜日韩电影| 亚洲欧美日韩精品| 国产九九精品视频| 欧美亚洲一区二区在线| 亚洲午夜高清视频| 国产精品免费网站| 性伦欧美刺激片在线观看| 一区二区三区视频在线| 欧美日韩一区国产| 亚洲一区二区三区在线看| 亚洲欧洲在线看| 欧美精品在线免费观看| 99国内精品久久| 亚洲精品日韩久久| 国产精品久久久久免费a∨大胸| 亚洲男人影院| 午夜精品亚洲一区二区三区嫩草| 国产精品一区二区久久国产| 欧美在线黄色| 欧美亚洲视频在线观看| 国产精品尤物| 久久综合九色综合欧美狠狠| 麻豆精品91| 中文一区字幕| 午夜在线视频观看日韩17c| 国产在线观看一区| 欧美激情无毛| 国产精品人人做人人爽人人添| 久久精品人人爽| 巨乳诱惑日韩免费av| 99视频一区| 午夜久久久久久| 91久久久久久国产精品| 亚洲系列中文字幕| 在线观看亚洲一区| 亚洲精品视频在线播放| 国产精品一区二区男女羞羞无遮挡| 久久不射2019中文字幕| 蜜桃av噜噜一区二区三区| 正在播放日韩| 久久av一区二区| 日韩特黄影片| 欧美在线精品一区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美日本中文字幕| 亚洲精品黄网在线观看| 一区二区久久| 精品99一区二区| 亚洲性感美女99在线| 亚洲国产精品999| 亚洲在线1234| 国产精品99久久不卡二区| 国产日韩欧美一区二区| 一区二区三区欧美日韩| 午夜精品av| 99精品欧美一区二区三区综合在线| 亚洲欧美日韩国产| 一区二区三区视频免费在线观看| 性色av一区二区三区在线观看| 亚洲精品资源| 麻豆精品在线观看| 久久精品国产精品亚洲精品| 欧美伦理91i| 欧美成人精品一区二区| 国产伦精品一区二区三区| 亚洲精品免费在线观看| 国产主播精品| 午夜久久久久久| 亚洲永久在线| 欧美三级电影一区| 欧美激情久久久久久| 经典三级久久| 欧美一区二区三区在线| 欧美综合激情网| 国产精品视频免费在线观看| 夜夜狂射影院欧美极品| 一本色道久久综合亚洲精品不卡| 免播放器亚洲| 亚洲第一天堂av| 亚洲激情综合| 欧美sm视频| 亚洲激情在线| av不卡在线| 欧美日韩中文字幕| 亚洲视频第一页| 欧美在线视频免费| 国产一区二区中文字幕免费看| 欧美一级片久久久久久久| 欧美中文字幕视频| 韩国av一区二区三区在线观看 | 毛片精品免费在线观看| 你懂的视频一区二区| 亚洲国内精品在线| 欧美福利视频网站| 亚洲美女av黄| 午夜精品免费视频| 国产一区二区三区在线观看精品| 欧美综合第一页| 亚洲第一视频网站| 亚洲欧美日韩精品久久| 国产视频一区在线观看一区免费| 欧美一区二区三区日韩视频| 久久综合狠狠综合久久综青草| 91久久精品一区二区三区| 欧美日韩国产丝袜另类| 亚洲校园激情| 欧美成人午夜激情在线| 一区二区三区福利| 国产精品综合久久久| 久久一本综合频道| 日韩一级在线| 久久性天堂网| 亚洲视频欧美在线| 激情五月综合色婷婷一区二区| 欧美电影免费观看高清| 亚洲性av在线| 亚洲福利视频二区| 香蕉成人啪国产精品视频综合网| 国语自产在线不卡| 国产精品v欧美精品∨日韩| 久久国产精品网站| 欧美伊人久久久久久久久影院| 亚洲毛片av| 久久电影一区| 亚洲久久成人| 国产噜噜噜噜噜久久久久久久久| 久久欧美肥婆一二区| 夜夜狂射影院欧美极品| 免费不卡视频| 午夜欧美精品| 99xxxx成人网| 极品av少妇一区二区| 国产精品国产精品国产专区不蜜| 久久夜色精品国产| 性欧美超级视频| 99在线精品视频| 欧美黄色精品| 老牛嫩草一区二区三区日本| 午夜亚洲一区| 亚洲一区二区免费看| 亚洲精品一区二区三区在线观看|