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

#ant

The dreams in which I'm dying are the best I've ever had...

共3頁: 1 2 3 
還是要看實際情況,并不是任何時候都可以用全局變量替代單例的。
如在Symbian C++ S60V3以前,是不允許WSD數據(全局變量)存在的,這種情況下必須用Tls Singleton這樣的模式。。。
re: loki技法(1).靜態斷言 螞蟻終結者 2010-04-10 13:06
見過另外一種比較簡潔的實現:
#define static_assert(expr) typedef char __static_assert__[(expr) ? 1 : -1];

如:

static_assert(sizeof(int) == 1);

編譯錯誤為:"the size of an array must be greater than zero"

不過不能夠像上面那樣用msg自定義錯誤信息!
re: 實用編譯器構建指南(一) 螞蟻終結者 2009-12-10 09:37
不錯,多謝分享,期待后續內容!
re: strlen源碼剖析 螞蟻終結者 2009-06-08 11:51
@宋兵乙
“由于char_ptr是指向char的指針,因此每次++應該是增加一個char的長度就是8”
看來你對指針運算還不太了解,建議好好復習一下指針部分。
授人魚不如授人漁呵呵
re: 最簡單的foreach實現(VC & GCC) 螞蟻終結者 2009-05-08 18:19
至于生命周期,大可不必用RANDOM_VAR這種方式,還是建議看一下BOOST_FOREACH
re: MD5算法的C++實現 螞蟻終結者 2009-04-27 23:03
@MM
你是要計算純數據的md5值?
那可以用這個重載方法:
void update(const void* input, size_t length);

比如:
1.計算一個int的md5值:
int i = 12345;
MD5 md;
md.update(&i, sizeof(i));
cout << md.toString() << endl;

2.計算一個struct的md5值:
struct Package {
char buffer[32];
int i;
//...
};

Package pkg;
MD5 md;
md.update(&pkg, sizeof(pkg));
cout << md.toString() << endl;

不知道這是否是你想要的功能?
re: C++&Win32寫的空當接龍 螞蟻終結者 2009-04-16 19:32
@sevenxz
暈。。。
其實上面就有下載鏈接!
re: MD5算法的C++實現 螞蟻終結者 2009-04-16 16:31
@csu_boy
這個應該是跟計算md5值的軟件實現有關,一般來說都只看文件內容,內容相同的文件md5就是一樣的
不錯,謝謝分享!
比較隱晦的問題。。。
re: MD5算法的C++實現 螞蟻終結者 2009-04-08 11:52
@csu_boy
這個是Endian的問題,本文中md5的實現是基于Little Endian的機器,所以要寫成下面這樣:
_state[0] = 0x67452301;
_state[1] = 0xefcdab89;
_state[2] = 0x98badcfe;
_state[3] = 0x10325476;
如果是Big Endian的機器,則要寫成:
_state[0] = 0x01234567;
_state[1] = 0x89abcdef;
_state[2] = 0xfedcba98;
_state[3] = 0x76543210;
re: MD5算法的C++實現 螞蟻終結者 2009-04-05 17:29
調用update是有累加效果的,上面的代碼:
...
md5.update(str1);
...
md5.update(str2);
實際上得到的是"abcdefghijklmnabcdefghijklmn"的md5值

如果想重復使用某個MD5對象,需要在下次update前先reset,如下:
...
string str2 = str1 ;
//這里加上reset
md5.reset();
md5.update(str2);
...
re: MD5算法的C++實現 螞蟻終結者 2009-03-07 11:56
@chang
16位系統下應該可以拿上面的代碼移植,比如需要把md5.h中的
typedef unsigned int uint32;
改為
typedef unsigned long uint32;
可能還需要改動其他代碼,我這里沒有條件測試,你不妨測試一下。

update是唯一的接口,不調用是不行的呵呵。
re: MD5算法的C++實現 螞蟻終結者 2009-02-23 20:01
@roger
呵呵,哥們說笑了,不收費,若是覺得不錯的話直接用就行了!
re: MD5算法的C++實現 螞蟻終結者 2009-02-23 11:38
@涼風
md5算法是一種hash算法,是單向的,還原是不可能的。因為多份數據可能計算出相同的md5值。
re: MD5算法的C++實現 螞蟻終結者 2009-02-20 12:40
@Nihlathak
當文件不存在的時候得到的結果肯定是錯誤的。
上面的例子寫成那樣只是為了演示用法。
最好在調用update前判斷一下文件是否存在:
md5.reset();
ifstream file("E:\\1.txt");
if (!file) {
// error: can not open file
}
else {
md5.update();
PrintMD5("E:\\1.txt", md5);
}
re: MD5算法的C++實現 螞蟻終結者 2009-02-02 09:07
我這里是原創呵呵,不過不知道你說的make文件是什么?我這里好像沒有
re: MD5算法的C++實現 螞蟻終結者 2009-01-08 13:15
@far
其實最簡單方法就是修改ABCD的初始值,哪怕只是修改其中一位數,得到的md5值也會跟標準的完全不一樣。因為md5算法的整個過程都是以ABCD這4個數為基礎。
re: TEA加密算法的C/C++實現 螞蟻終結者 2008-12-12 17:43
@ghbxx
我當時寫這篇文章的時候是可以的,可能現在QQ協議又變了
re: John Carmack密碼:0x5f3759df 螞蟻終結者 2008-12-01 10:49
不錯,確實很強!
8 using namespace vl;
9 using namespace vl::platform;
10 using namespace vl::stream;
11 using namespace vl::system;
12 using namespace vl::system::synchronization;
13 using namespace vl::serialization;
14 using namespace vl::commondata;
15 using namespace vl::communication;
居然都是自己封裝的。。。難道是想模擬C#
re: 昨天 螞蟻終結者 2008-11-17 23:27
太有感觸了,美好的童年??!
奔3了,一樣不得不去奔波,很無奈!
呵呵,最后幾分鐘居然還是千與千尋里的Always with me
呵呵,沒用過,看起來好像很復雜,一直用自己寫的一個通用的makefile模板。有點害怕這些東西,當時看makefile的manual有陰影了。
re: 代碼的壞味 螞蟻終結者 2008-11-15 13:23
呵呵,AutoLock這種構造時lock,析構時unlock的方法其實很好么,boost::scoped_lock就是這樣的。個人覺得括號其實無所謂,至少這種方法比手動lock,unlock要優雅很多,在異常安全方面也有保證。
re: 從Win32 API封裝Thread類[1] 螞蟻終結者 2008-10-10 09:35
@OwnWaterloo
建議:
1.單下劃線開始的標識符?
這個是編程風格問題,很難說出哪個更好哪個更差,正所謂蘿卜白菜各有所愛,個人認為成員變量無論是下劃線開始(如:_handle)還是下劃線結尾(如:handle_),又或者是用匈牙利命名法,只要在編碼中始終保持一種風格就好。編碼風格對程序員來說可能是一種信仰。

2.將windows.h 從thread.h中移走
這個確實是可以考慮,如果考慮到跨平臺的話。

疑問:
1. Thread的析構
據我所知,join應該是等待線程結束的慣用法,Java.Thread,boost.Thread都通過join來保證線程的安全結束。是否是規范我也不清楚,貌似join是POSIX中線程取消規范中的一個?

2.Thread 似乎并不需要從 Runable 繼承
是不需要繼承Runnable的,這樣只是模仿Java的行為。
re: 從Win32 API封裝Thread類[1] 螞蟻終結者 2008-10-10 09:15
@Robinfoxnan
OwnWaterloo回答的也是我想回答的,我就不多說了。
re: 開篇 by PureMilk(王婷婷) 螞蟻終結者 2008-10-09 18:00
悄悄地路過。。。加油!
re: MD5算法的C++實現 螞蟻終結者 2008-10-09 16:10
@ktls
不客氣,很多人用的時候都有這個問題,在這里弄清楚了免得后面的人再走彎路!
re: MD5算法的C++實現 螞蟻終結者 2008-10-09 15:49
@ktls
md5.update(ifstream("C:\\abc.doc"));
剛才沒注意到,ifstream默認是以文本模式打開的,改成二進制應該就可以了:
md5.update(ifstream("C:\\abc.doc", ios::binary));
re: MD5算法的C++實現 螞蟻終結者 2008-10-09 15:45
@ktls
email:antterminator@gmail.com
msn:antterminator@hotmail.com
這樣的話可能是其它的問題,那把abc.doc發給我測試下吧。
這個本來是考慮跨平臺使用的,如果做成dll就只能windows用了。
re: MD5算法的C++實現 螞蟻終結者 2008-10-09 15:41
@wx3456
有幾個地方我不太清楚,首先049ec6b8b8565dfde2007f7a9f7ecd84是什么密碼加密出來的?還有1234的md5應該是81dc9bdb52d04dc20036dbd8313ed055才對。如果方便的話把源碼發我幫你看看,你有msn沒有?有的話加我antterminator@hotmail.com
re: MD5算法的C++實現 螞蟻終結者 2008-10-09 14:11
@ktls
這個我測試過很多次了,肯定是沒有問題的!
可能是你哪個地方弄錯了!
re: MD5算法的C++實現 螞蟻終結者 2008-10-08 16:17
@foxtail
這個是沒有問題的,參考下上面我回答的:
@gg
其實具體的用法在源代碼的main函數中已經演示得很清楚了,我想你也肯定沒有看文章后面的:“2.計算文件的MD5值”這一段,專門計算md5值的軟件如WinMD5是以二進制形式打開文件的,所以:

string s1 = MD5(ifstream("file")).toString();
string s2 = MD5(ifstream("file", ios::binary)).toString();

s1與s2是不一樣的,前一個是以文本模式打開,后一個是以二進制模式打開。
re: MD5算法的C++實現 螞蟻終結者 2008-10-08 15:30
@wx3456
呵呵,前輩不敢當,我大學剛畢業工作才幾個月而已。目前從事C++方面的工作,有空多交流。
re: MD5算法的C++實現 螞蟻終結者 2008-10-08 15:06
@wx3456
既然MD5是單向的,那你可以換一種方式:
在用戶登錄時,計算用戶輸入的密碼的MD5值,拿這個值和ini文件里的MD5比較,如果相等就允許登錄(雖然多個不同的密碼可能對應相同的MD5值,但是幾率可以說非常小,對于一般的應用來說足夠了)。

比如用戶A注冊時的密碼為abc,計算MD5值保存在ini文件為:
900150983cd24fb0d6963f7d28e17f72

在用戶A登錄時,假設用戶輸入的密碼為xxx,則計算xxx的MD5值,若和ini文件中的MD5值相等就允許登錄。
re: MD5算法的C++實現 螞蟻終結者 2008-10-08 14:28
@wx3456
不好意思,我不太明白你說的“MD5字符解密”是什么意思?
MD5是單向的,是沒有辦法從MD5值推算出原先的信息的。
從string值轉換成CString很簡單,google一下有很多。
re: strlen源碼剖析 螞蟻終結者 2008-09-07 19:54
@star
歡迎轉載,轉載當然是沒有問題的,畢竟寫文章就是能讓更多的人看到!

為什么不一次就移32位呢?
我也不太清楚,可能就其中注釋所說:
/* Do the shift in two steps to avoid a warning if long has 32 bits. */
只是為了避免warn吧呵呵!
re: MD5算法的C++實現 螞蟻終結者 2008-09-01 19:38
@zhongyunde
代碼沒有問題,可以放心使用!
不錯,有點意思。
re: MD5算法的C++實現 螞蟻終結者 2008-08-19 10:12
@zhengdu
你用的是哪個版本的VC ?VC6.0 ?

大概是你的編譯器太老,不支持static const整形值的初始化語法,試試下面兩種辦法:

1. 將md5.h中的
static const size_t BUFFER_SIZE = 1024;
改為
enum { BUFFER_SIZE = 1024 };

2. 將md5.h中的
static const size_t BUFFER_SIZE = 1024;
改為
static const size_t BUFFER_SIZE;

并在md5.cpp的
MD5::MD5() {
reset();
}
上面加上
const size_t MD5::BUFFER_SIZE = 1024;
re: MD5算法的C++實現 螞蟻終結者 2008-06-23 22:03
@CPPLearning
謝謝提醒,是我的疏忽呵呵!
re: 非完美C++ Singleton實現[2] 螞蟻終結者 2008-05-06 22:02
@sodar
能說下在動態庫工程中使用Singleton的具體需求嗎?dll中用atexit注冊的函數在FreeLibrary的時候會被調用,可以保證Singleton安全析構。
作為庫函數效率還是比簡潔重要,建議看下VC CRT的匯編代碼。
很不錯,能不能幫忙發個源代碼,非常感謝!??!
antterminator@gmail.com
re: MD5算法的C++實現 螞蟻終結者 2008-03-14 09:14
@gg
其實具體的用法在源代碼的main函數中已經演示得很清楚了,我想你也肯定沒有看文章后面的:“2.計算文件的MD5值”這一段,專門計算md5值的軟件如WinMD5是以二進制形式打開文件的,所以:

string s1 = MD5(ifstream("file")).toString();
string s2 = MD5(ifstream("file", ios::binary)).toString();

s1與s2是不一樣的,前一個是以文本模式打開,后一個是以二進制模式打開。
貌試很不錯的IDE,哪天下載個玩玩!
re: 單件模式的實現 螞蟻終結者 2008-03-02 21:37
singleton遠沒有想象的那么簡單!
re: C++&Win32寫的空當接龍 螞蟻終結者 2008-02-24 15:24
呵呵,源代碼在上面就有下載??!
re: boost::static_assert 螞蟻終結者 2008-01-05 21:26
不錯,雖然沒用過。卻值的學習
re: 對07年的總結,對08年的期望 螞蟻終結者 2008-01-01 15:47
不錯,真心支持。祝早日寫出一套engine
共3頁: 1 2 3 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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黄| 欧美激情精品久久久久久免费印度| 久久视频这里只有精品| 狠狠色狠狠色综合系列| 久久成人免费视频| 久久久久久久久蜜桃| 国产视频亚洲| 久久er99精品| 久久夜色精品亚洲噜噜国产mv| 国产一区二区高清不卡| 欧美有码在线视频| 久久夜色精品亚洲噜噜国产mv| 国内精品久久久久久久影视麻豆 | 亚洲精品一区二区三| 久久综合色8888| 欧美国产一区二区| 亚洲欧洲三级| 欧美日韩免费观看一区=区三区| 日韩一级黄色av| 性欧美暴力猛交69hd| 国产小视频国产精品| 欧美在线影院在线视频| 久久综合九色九九| 91久久综合亚洲鲁鲁五月天| 欧美噜噜久久久xxx| 一本大道av伊人久久综合| 午夜一区不卡| 亚洲成人影音| 欧美伦理91i| 午夜亚洲福利| 欧美激情1区2区3区| 中国亚洲黄色| 国产资源精品在线观看| 欧美不卡高清| 亚洲性线免费观看视频成熟| 久久亚洲高清| 一区二区三区欧美成人| 国产精品视频你懂的| 久久夜精品va视频免费观看| 日韩视频免费观看| 久久久一区二区| 亚洲特色特黄| 激情文学综合丁香| 欧美性天天影院| 国产精品视频一区二区三区 | 免费一级欧美片在线播放| 亚洲三级影片| 国产日韩精品在线| 欧美成人免费网站| 亚洲欧美日韩精品久久久久| 欧美高清视频一区二区三区在线观看 | 国产欧美精品| 欧美精品久久久久久久久久| 亚洲免费在线电影| 亚洲国产婷婷香蕉久久久久久99| 亚洲综合色丁香婷婷六月图片| 尤物九九久久国产精品的分类| 欧美视频在线观看 亚洲欧| 久久久久亚洲综合| 亚洲一区三区视频在线观看| 亚洲第一区在线观看| 久久国产黑丝| 亚洲欧美日韩国产综合精品二区| 亚洲国内精品| 精品动漫3d一区二区三区免费| 国产精品亚洲综合色区韩国| 欧美理论在线播放| 老司机精品视频一区二区三区| 亚洲免费中文字幕| 日韩午夜在线播放| 亚洲三级毛片| 亚洲大胆女人| 欧美ab在线视频| 久久久午夜视频| 午夜精品久久久久影视 | 日韩视频二区| 最新日韩欧美| 亚洲精品1234| 亚洲国产精品一区二区久| 免费久久99精品国产自| 久久天天躁狠狠躁夜夜av| 欧美亚洲一区| 欧美一区1区三区3区公司| 亚洲综合欧美日韩| 午夜精品福利电影| 午夜精品久久久| 亚洲欧美一级二级三级| 亚洲一区二区三区四区视频| 在线综合亚洲| 亚洲欧美激情诱惑| 亚洲欧美日韩国产| 欧美亚洲一级片| 久久精品动漫| 麻豆精品视频在线观看视频| 免费在线欧美视频| 亚洲国产黄色片| 亚洲国产毛片完整版| 亚洲日本中文| 一区二区三区欧美视频| 亚洲小说区图片区| 欧美一区二区三区四区高清| 欧美在线视频观看免费网站| 久久精品一区二区三区四区| 麻豆av福利av久久av| 欧美二区在线播放| 国产精品av免费在线观看| 国产精品无码永久免费888| 国产一区二区视频在线观看 | 欧美在线免费观看视频| 久久免费精品日本久久中文字幕| 裸体一区二区三区| 91久久线看在观草草青青| 99精品国产热久久91蜜凸| 亚洲综合欧美日韩| 久久久精品视频成人| 欧美成人xxx| 国产精品日韩欧美一区| 国产精品一区三区| 亚洲免费综合| 久久国产日本精品| 欧美高清视频在线播放| 日韩图片一区| 欧美在线一二三四区| 欧美激情综合在线| 国产女人水真多18毛片18精品视频| 狠狠v欧美v日韩v亚洲ⅴ| 99re66热这里只有精品3直播 | 欧美不卡视频一区| 一区二区三区回区在观看免费视频| 性做久久久久久免费观看欧美| 美国成人毛片| 国产伦精品一区二区三| 亚洲激情亚洲| 久久国产成人| 日韩天天综合| 久久乐国产精品| 国产精品久久久久久模特| 在线免费观看日韩欧美| 亚洲欧美一区二区三区久久| 欧美黄色aa电影| 欧美伊人久久大香线蕉综合69| 欧美日韩视频免费播放| 精品51国产黑色丝袜高跟鞋| 亚洲欧美日本日韩| 亚洲国产成人porn| 欧美在线日韩精品| 国产精品久久久久久亚洲调教 | 国产精品嫩草久久久久| 亚洲国产日韩美| 久久久久久久久综合| 99热这里只有精品8| 免费视频一区二区三区在线观看| 国产精品一级二级三级| 在线一区亚洲| 亚洲三级免费电影| 欧美成人a∨高清免费观看| 精品9999| 狼人天天伊人久久| 欧美一级黄色网| 国产美女诱惑一区二区| 亚洲欧美日韩精品久久奇米色影视| 亚洲黄色免费| 欧美+日本+国产+在线a∨观看| 狠狠色丁香婷综合久久| 久久九九热re6这里有精品| 亚洲欧美日韩精品久久亚洲区| 欧美亚州一区二区三区| 这里是久久伊人| 亚洲毛片在线看| 欧美精品一区二区三区在线播放 | 一区二区冒白浆视频| 欧美激情一区二区三区不卡| 久久久另类综合| 在线欧美三区| 欧美风情在线观看| 嫩草国产精品入口| 亚洲黑丝在线| 亚洲韩国青草视频| 欧美精品尤物在线| 99国内精品久久| 99re热精品| 国产精品第三页| 欧美影院成年免费版| 欧美在线播放视频| 在线观看亚洲专区| 91久久精品国产| 欧美午夜激情小视频| 欧美一区在线直播| 久久久蜜桃一区二区人| 亚洲韩国一区二区三区|