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

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……
共2頁: 1 2 
@飯中淹
每個對象都要顯示的create和release。那基本上等價于放棄了C++構造函數和析構函數這兩個特性。
對于棧對象,這樣會很累,也很容易泄漏。
re: 美利達公爵 vs ATX740 肥仔 2009-10-19 10:29
我是博主,樓上的說話不雅
狄公真乃神人也!
re: 能用于 VC6 的 CImage 類 肥仔 2009-01-09 10:50
強,支持
對VC6這東西太有感情,完全不可割舍。
Ragel用來解析協議是很棒,很快的東西。
Ruby的若干個http服務器,是使用Ragel生成http_parser的。還有解析html,xml的,等等。
做網絡或者Web數據抓取的,也有空的兄弟,可以研究下,無奈中文資料基本沒有,國外使用的人也不是太多。
@陳梓瀚(vczh)
我知你對這類東西蠻有研究的,介紹Ragel,你不妨去弄弄,據我現在所得結果,雖然都是自動機識別,但他比Lex要快,尤其-G2選項之后,函數全部內聯,統統goto,沒有用數組,速度快到無法形容。

另外還可以生成dot文件,調用Graphviz畫出自動機的圖形,這個很爽?。ㄎ野裷agel生成的r_atoi自動機圖補到上面了,翻上去找找...)

不知誰有閑時間去翻譯一下它的man page,我想去翻譯,無奈真是太忙了,生活所迫啊。
再次改善了一下,加了一個inline,時間變為 2562 ms了,因為去掉了函數調用開銷

inline long my_atoi(const char *str)
{
long val = 0;
bool b_neg = ('-' == *str);
if(*str == '-' || *str == '+')++str;
while(*str)
{
if(('0' - 1) < *str && *str < ('9' + 1))
val = val*10 + *str++ - '0';
else
break;
}
return b_neg?-val:val;
}
改善了一下my_atoi, 同等規模下測試,時間為:3468 ms
這一下心里平衡了,可以安穩睡一個覺了

long my_atoi(const char *str)
{
long val = 0;
bool b_neg = ('-' == *str);
if(*str == '-' || *str == '+')++str;
while(*str)
{
if(('0' - 1) < *str && *str < ('9' + 1))
val = val*10 + *str++ - '0';
else
break;
}
return b_neg?-val:val;
}
剛剛自己再手寫了一個my_atoi,同等規模下測試,時間為:13536 ms
為什么差距就這么大涅?

long my_atoi(const char *str)
{
long val = 0;
bool b_neg = ('-' == *str);
if(*str == '-' || *str == '+')++str;
while(1)
switch(*str++)
{
case 0:
return b_neg?-val:val;
case '0':
val = val*10 + 0;
break;
case '1':
val = val*10 + 1;
break;
case '2':
val = val*10 + 2;
break;
case '3':
val = val*10 + 3;
break;
case '4':
val = val*10 + 4;
break;
case '5':
val = val*10 + 5;
break;
case '6':
val = val*10 + 6;
break;
case '7':
val = val*10 + 7;
break;
case '8':
val = val*10 + 8;
break;
case '9':
val = val*10 + 9;
break;
default:
return 0;
}
return 0;
};
@NeutralEvil
第二條補充得太棒了,我沒有想到你補充的那點,汗!
STL的偉大,正是在抽象之后,形式上的統一,優美啊。
re: CHttpDwonLoad Bete 1.0 肥仔 2008-12-23 14:04
樓上的眼睛好犀利
re: VC++ 6 的 MSDN 插件 肥仔 2008-12-22 20:35
我用VC6和SDK/MSDN 2003,不需要額外的東西就可以關聯。
MSDN用那么高版本有什么意義嗎?如果VC6能夠把編譯器升級到高版本才叫爽啊,可惜不行。
re: 代碼壞味3 肥仔 2008-12-22 20:21
我的幾個觀點,供參考
1、從代碼看來,你的設計是面向功能的,按功能分解是結構型程序設計方法的模式;
2、OOP應該是面向對象的,非:pulic 功能,應該是:public 基礎對象;
3、好的設計不應該出現多繼承;

請參見轉貼的這篇博文,有更好的對如何繼承的原則描述
http://m.shnenglu.com/woaidongmao/archive/2008/12/16/69567.html
re: 日志該怎么記錄? 肥仔 2008-12-22 12:18
日志作用大了去了,查bug,特別是業務邏輯的bug,查安全,黑客,做roll back, 作業務分析,用處實在太多了
一個大系統,若沒有規范的日志體系,那就是個豆腐渣工程。
總是有很多人喜歡說別人搞不清什么跟什么的區別。我真的很糊涂,那些所謂的區別,在眼里根本就不值一提的東西,有必要寫出來嗎?

我支持摟主,原創即分享,Great。
re: 面試在華為 肥仔 2008-12-18 18:42
華為的名聲在深圳這邊很差,有工作經驗的coder,如果打電話過來叫面試,一聽是華為,馬上就掛了,我也掛過很多次,壓根沒投過他的簡歷,他也找得到你,估計和51job有合作關系。
華為工資不高,但把人當牛使。喜歡去的都是沒畢業或剛畢業的學生,覺得華為牛而已吧,事實卻和想象有蠻大的差別,需要慎重考慮了。
re: 實現程序自己更新自己 肥仔 2008-12-17 23:28
批處理實現不了太復查的更新邏輯,這個是弱點
re: 代碼的壞味2 肥仔 2008-12-17 23:10
剛剛特意再查了一下資料,找到了一片bbs,轉到了我自己的空間,你看看,是不是可能SendMessage死鎖
http://m.shnenglu.com/woaidongmao/archive/2008/12/17/69696.html
re: 代碼的壞味2 肥仔 2008-12-17 22:56
個人感覺搞錯了方向,可能的原因有2種
1、死鎖,可能性不大,因為并不是每次都不行;
2、工作線程執行了更新界面的操作,且通過調用引用控件的方法來更新的。因為控件方法調用實際上是SendMessage,應該用PostMessage就不會錯了。

考慮如下情況:
按下按鈕,界面線程執行OnButton,等待工作者線程釋放鎖;
在同一時刻工作者線程更新界面,因為任何界面更新實際上都是界面線程完成(通過消息隊列),如果用的是SendMessage模式,工作者線程必須等待完成才可以走一下步,而等待完成的前提是OnButton完成。

這樣就OnButton在等待鎖,工作者線程在等待OnButton完成才可以釋放鎖,無響應了,所以工作者線程更新,應該用PostMessage。
永不停息的強人。
這是一個人的戰斗!
@于
這個是從別人博客抄過來的,你需要google一下這個標題,就應該能找到原作者了。
re: 用Mis平臺生成Mis 肥仔 2008-12-12 13:58
上傳個你軟件生成的HTML前臺如何?
re: 用Mis平臺生成Mis 肥仔 2008-12-12 13:54
很不錯啊
HTML做出了桌面軟件的風格。

你那個軟件是用來定制HTML的和數據庫表的?
定制生成前臺這個ideal很棒!!!
re: 小寫了個XML解析器 肥仔 2008-12-10 18:20
struct xmlNode
{
...
struct xmlNode *child;
struct xmlNode *sibling;
};
==================
這種結構處理起來,好累的。我的xml解析器采用下面這種結構
struct xmlNode
{
...
vector<xmlNode*> childs;
struct xmlNode* parent;
};
very good ideal
re: 回調函數和函數指針 肥仔 2008-12-07 20:13
re: 回調函數和函數指針 肥仔 2008-12-07 20:10
good.
回調函數和函數指針是低階的技術特性。
一個建議是,可以在此基礎上,更進一步,學習理解“委托”這種基于回調的高階編程思想,將得到更多。。。。。。
@helpsoff.com.cn
呵呵,好了。

我必須得承認,你很強,你問的問題讓我不知所措,我非常地茫然,幾乎無地自容。當然不會刪你的留言,只要不是粗痞話,我都不會刪。大俠的更要留著偶爾看看,好讓自己感到自卑。

這既然是一個你不屑的地方,就不必再來了吧,何必來看這么膚淺的文章影響了您老人家的心情?

送客了,遠方的客人請您別再來~~~,:)


@helpsoff.com.cn
呵呵,這不是我們第一次交流了,你這位同志比較喜歡好為人師嘛。但是需要說出點稍微有參考價值的東西,才可以教育別人,是不是。

交流需要平等,干嘛老擺個姿態呢,我覺得不好。
@guest
汗,VC6如果對POD這樣的標準都支持不了,那就太那個。
VC6一直在用,而且最近1~2年內應該還是會作為工作的首選,沒覺得有什么不好。賽揚CPU,512MB的內存,開4個VC6 IDE,并行開發一點都不卡,舒舒服服。
AMD雙核,2G內存,打開一個VS 2008,只聽到硬盤狂叫,10秒以上才能出個界面,這就是.net的效果?。
上次CSDN看到一個投票,目前C++集成開發環境,10年了的VC6占30%多,依然居第一位。



re: SIZEOF宏,彌補sizeof不足 肥仔 2008-12-04 11:02
@vczh
這種核武器都用上了。。。

看來看去,還是宏最簡潔,優美,漂亮。
@RedNax
?? 有差別嗎? 代碼不好看,我指p_self->data.val_a,多了一個data,能夠去掉這個data就好看了。

因為項目中需要提供一個這樣的能力:有幾百個全部是static成員的struct,它們只有最后一個字段是個POD數組,長度會不同,需要有一個統一的接口來訪問這些struct的成員,所以做了這個測試。

@RedNax
根據你的提示,測試了另一個種情況,證明內存確實不連續,與定義順序相關 +編譯器相關。

我找到了一種強制內存連續的辦法,接口轉換也OK,但代碼不好看了,如下:


#include "stdafx.h"
#include <stdio.h>

typedef struct
{
struct __Data
{
char* text;
int val_a;
int val_b;
} static data;

} sData, *Self_Ptr;

typedef struct
{
char* text;
int val_a;
int val_b;
}* Other_Ptr;

sData::__Data sData::data
={ "this is a test string\0", 100, 200};

int main(int argc, char* argv[])
{
Self_Ptr p_self = 0;
Other_Ptr p_other = (Other_Ptr)&(sData::data.text);
printf("%d\n", sizeof(sData));
printf("val_a: %d-%d\n", p_self->data.val_a, sData::data.val_a);
printf("val_b: %d-%d\n", p_self->data.val_b, sData::data.val_b);
printf("val_a: %d-%d\n", p_self->data.val_a, p_other->val_a);
printf("val_b: %d-%d\n", p_self->data.val_b, p_other->val_b);
return 0;
}
@RedNax
right, 你的判斷正確,換成Self_Ptr p_self = NULL; p_self->val_a不會內存訪問違規,說明編譯期已經替換了p_self->val_a。
@RedNax
如果我沒有記錯的話
class不是POD,即使是非靜態成員,也不能保證連續,標準沒有這樣的規定。
成員為內置內型或POD類型且同時沒有成員函數的struct可以歸為POD了,標準規定POD內存必須連續,有static成員的struct還算不算POD,這個我倒是不知道。
@brian
牛,確實太油才了
re: 我繪制的圓餅圖 肥仔 2008-12-03 01:00
程序是好的,想法是好的,就是少那么點美感。泡個做美工的女孩調教調教吧
re: 系統優化日志(1) 肥仔 2008-12-01 15:42
a. 這一層的類命名為 CxxxDlg, CxxxView……
------------------------------------------
應該是CDlgXXXX,CViewXXXXX, 這樣文件名和class view排序都會連續,而且更易理解,看左邊幾個字符,并明白了類型。
一點經驗。
re: 截取網頁快照的dll 肥仔 2008-12-01 12:57
很有創意,且提供源代碼
可惜沒有這方面的需求,用不上了。
@周星星
傳說中挖bug狂人?
我blog偷盜了你蠻多篇文章,不要報警啊
文法好寫,也好理解,但文法之后的事情才叫難于上青天,借助YACC解析代碼生成一顆語法樹就非常頭痛了,剩下的符號提取,解釋器,語法樹運算更不用說了。
我找過很多yacc的文章,但還來沒有發現過中國誰用它真正實現了一個腳本引擎的??梢婋y度之不低。
@908971
資料都是收集別人的,我也學別人,一起學習。
@陳梓瀚(vczh)
牛,yacc可不是一般的輪子
走上了一條陽春白雪的道路
都依賴于自己造的輪子,對別沒有價值,除非別人愿意用你的輪子。否則也就落到自娛自樂了。
反正都是基于文件系統,直接寫文件不行嗎?沒有與其他進程共享內存通訊,為什么要MappingFile呢?難道速度有優勢?
似乎沒有什么用,讀書時候考的人比較多,工作后的人都很少在乎這些了,程序員不像其他行業,能力有多少,寫幾天代碼就徹底暴露了,證書能夠頂個球用。
@megax
我理解你所說的和你的建議,書里面也是如你所說的。CRT,MFC也是從來ASSERT后面,沒有if,沒有參數合法性檢查。

但是這種形式給我帶來過很多麻煩,請聽聽我的理解:
以strcpy舉例(在這個函數上沒有栽過跟頭的程序員,不是個合格的程序員),strcpy(buf, NULL);將導致程序崩潰,為何?因為ASSERT后面沒有帶if,也就是沒有對參數合法性進行校驗。

我理解的,strcpy這樣行為的后果是:把一個業務邏輯的bug,轉成耦合了平臺底層的bug。

1、strcpy(buf, NULL),邏輯上的bug應該是buf沒有拷貝任何數據,如果作了參數檢查,那么這個bug的最終表現形式是邏輯上的:buf沒有出現應該出現的數據;
2、因為沒有參數檢查,程序崩潰了,那么這個bug就耦合上了平臺的內存管理規則,內存訪問違規了,程序崩潰是這個bug的表現,這種表現形式和邏輯上應該出現的結果有聯系嗎?沒有;
3、檢測與修正業務邏輯的bug的難度遠遠小于與平臺耦合的bug,可以依賴于日志,模擬重現等許多方法。但是比如程序崩潰這樣耦合了平臺的bug,如果不是到了一定程度的程序員,讓他去調查一個服務器運行幾天down掉的原因,那將難于上青天。
4、若寫服務器,你將體會到,偶爾業務邏輯執行不正確不是什么大事情,只是一個業務邏輯上的bug而已,真正的大事情是服務器時不時給你來個crash down。很多情況的發生都是因為參數錯誤不合法,到了ntdll或者其他系統dll里面崩掉了。

C/C++庫里面,成千上萬的函數,你需要一個個了解他們傳遞什么樣的參數才是合法,要保證不犯錯誤,是不可能的,但是一旦犯錯,它給你來一刀,可不是很好受,為什么如此?原因就是ASSERT后面沒有if。

所以,吃過虧后,我一般都在參數的ASSERT后面,帶上一個if,個人覺得很受用。

@陳梓瀚(vczh)
Debug會有ASSERT,也會有if
Release沒有ASSERT,有if.
沒有不同行為
@www.helpsoff.com.cn
程序以外,人生很多地方都需要與別人探討,對于不合己見者,請不必太在懷,更沒必要帶著情緒和語氣,擺出姿態。這樣才能贏得更多的合作,我想我的這幾句話還算中肯。
共2頁: 1 2 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲午夜成aⅴ人片| 亚洲手机视频| 欧美另类综合| 欧美激情第三页| 欧美日本三区| 国产精品久久久久久妇女6080 | 亚洲承认在线| 裸体丰满少妇做受久久99精品| 欧美一区二区三区免费在线看| 亚洲综合三区| 久久人人97超碰精品888| 亚洲成人中文| 亚洲一区二区在线| 久久久精品久久久久| 午夜精品区一区二区三| 亚洲视频二区| 久久久噜噜噜久久久| 亚洲高清久久网| 在线一区欧美| 麻豆精品91| 国产精品男人爽免费视频1| 娇妻被交换粗又大又硬视频欧美| 在线不卡中文字幕播放| 这里只有精品视频在线| 久久综合九色综合网站| 日韩亚洲视频在线| 久久久久在线观看| 欧美日韩中文字幕在线| 在线日韩欧美| 欧美一级片在线播放| 亚洲电影免费观看高清完整版| 欧美国产大片| 欧美一区二区视频97| 欧美三级第一页| 亚洲福利av| 久久国产精品久久久久久| 亚洲精品免费在线播放| 久久人人九九| 国产午夜精品全部视频在线播放| 亚洲国产另类精品专区| 久久精品一区蜜桃臀影院| 日韩午夜三级在线| 欧美成人免费全部| 亚洲第一页中文字幕| 久久久久国产精品厨房| 亚洲欧美综合网| 国产精品成人一区二区艾草| 日韩亚洲欧美一区| 亚洲高清久久| 免费亚洲电影在线| 亚洲国产日韩一区| 老牛影视一区二区三区| 欧美一级在线视频| 国产日韩欧美一区二区| 午夜久久久久久久久久一区二区| 亚洲精品免费网站| 欧美日韩高清区| 9人人澡人人爽人人精品| 亚洲高清免费视频| 欧美另类高清视频在线| av成人免费在线观看| 亚洲精品你懂的| 欧美日韩视频免费播放| 亚洲午夜av| 亚洲综合日韩| 国产日韩精品在线观看| 久久中文在线| 葵司免费一区二区三区四区五区| 国产亚洲精品v| 久久综合色综合88| 久久综合色88| 一本色道久久加勒比精品 | 亚洲免费在线视频一区 二区| 亚洲国产精品嫩草影院| 欧美激情一区二区三区不卡| 一区二区三区免费观看| 一二三区精品| 国产一区二区福利| 免费观看30秒视频久久| 欧美激情亚洲精品| 香蕉久久一区二区不卡无毒影院 | 亚洲黄一区二区三区| 欧美日韩伦理在线免费| 香蕉成人久久| 麻豆成人在线观看| 亚洲性线免费观看视频成熟| 亚洲一区二区在线看| 黄色成人在线| 亚洲精品视频中文字幕| 国产视频久久网| 亚洲福利视频一区| 国产区在线观看成人精品| 欧美激情中文字幕在线| 国产精品男女猛烈高潮激情| 欧美成人国产一区二区| 欧美三日本三级三级在线播放| 亚洲欧美日韩综合| 久久亚洲欧洲| 欧美一区二区视频在线观看2020 | 欧美一级片在线播放| 狂野欧美性猛交xxxx巴西| 亚洲专区一区| 蜜臀99久久精品久久久久久软件| 妖精成人www高清在线观看| 欧美一区二区三区在线视频| 一本到高清视频免费精品| 欧美亚洲视频| 亚洲午夜精品一区二区| 久久亚洲视频| 久久久亚洲国产美女国产盗摄| 欧美激情在线观看| 牛人盗摄一区二区三区视频| 国产伦精品一区二区三区四区免费| 欧美成黄导航| 国产一区在线看| 亚洲私人影院| 99在线视频精品| 欧美成人亚洲| 欧美成人免费在线| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧洲精品天堂一级| 狠狠色伊人亚洲综合成人| 亚洲一区二区在线观看视频| 亚洲私人影吧| 欧美日韩精品一区二区三区四区| 久久影院亚洲| 国模精品娜娜一二三区| 午夜久久影院| 久久精品国产久精国产思思| 国产精品女人毛片| 亚洲视频在线观看网站| 亚洲男人第一网站| 欧美日韩四区| 日韩亚洲欧美在线观看| 国产精品xxxav免费视频| 亚洲美女中文字幕| 亚洲手机成人高清视频| 欧美三级日本三级少妇99| 亚洲理伦在线| 亚洲自拍偷拍一区| 国产精品色网| 欧美一区二区三区免费看 | 欧美一级理论片| 久久国产色av| 在线不卡a资源高清| 欧美成人免费小视频| 亚洲黄页视频免费观看| 一区二区三区.www| 欧美香蕉视频| 欧美一级大片在线免费观看| 久久噜噜噜精品国产亚洲综合| 国产欧美日韩一区| 久久精品在这里| 亚洲欧洲美洲综合色网| 亚洲小说欧美另类社区| 国产欧美日韩视频在线观看| 久久黄金**| 91久久极品少妇xxxxⅹ软件| 亚洲一区www| 国内精品久久久久久久影视麻豆| 欧美在线免费观看亚洲| 欧美国产日本韩| 这里是久久伊人| 国产日韩欧美综合| 欧美成人精品1314www| 一本色道久久综合亚洲91| 久久精品夜夜夜夜久久| 91久久国产综合久久蜜月精品| 欧美极品一区二区三区| 亚洲综合色在线| 欧美激情一区二区三区在线视频 | 久久久久国产精品麻豆ai换脸| 精品99一区二区| 欧美日韩在线播放一区| 久久不见久久见免费视频1| 亚洲欧洲精品天堂一级| 久久国产精品一区二区| 亚洲毛片视频| 精品91在线| 国产精品一区二区你懂得| 久久中文在线| 午夜精品剧场| 一区二区三区四区蜜桃| 欧美高清视频| 久久久亚洲欧洲日产国码αv| 亚洲精品视频在线观看网站| 国产欧美精品在线观看| 欧美激情一区二区三区在线视频 | 亚洲天堂成人在线观看| 狠狠色丁香婷婷综合影院| 欧美午夜免费影院| 欧美福利一区| 久久资源在线| 久久精品亚洲一区二区三区浴池| 亚洲黄色小视频| 欧美高清视频一区| 久久综合激情| 欧美一区二区三区精品电影| 在线一区欧美| 中文日韩在线视频|