共2頁: 1 2
re: VC6 + ICC8.1+...VC6與VS2005媲美[未登錄] 任我行 2007-08-04 14:09
VS2005畢竟是大勢所趨,就支持64位這點(diǎn), VC6.0就抗不住了,再加上界面漂亮,
再說,對一個(gè)程序員來說,電腦不好編毛的程序, 說耗資源就不應(yīng)該是程序員說的,
好的東西肯定是要付出的,不管再怎么堅(jiān)持VC6.0 , 你總會用.net的, 你為什么不堅(jiān)持vc4.0 ,5.0呀
再說,對一個(gè)程序員來說,電腦不好編毛的程序, 說耗資源就不應(yīng)該是程序員說的,
好的東西肯定是要付出的,不管再怎么堅(jiān)持VC6.0 , 你總會用.net的, 你為什么不堅(jiān)持vc4.0 ,5.0呀
re: static變量和static函數(shù) 任我行 2006-12-11 14:57
有沒有考慮過,Static是如何實(shí)現(xiàn)的?
內(nèi)存和其他有何區(qū)別?
內(nèi)存和其他有何區(qū)別?
re: 【天堂向左,深圳向右】 任我行 2006-09-04 09:26
慢慢看唄!
re: 忘記WORD文檔密碼解決辦法 任我行 2006-08-11 13:50
好.方便
re: KMP算法祥解 任我行 2006-08-11 13:48
非也
re: 堆棧,堆棧,堆和棧的區(qū)別 任我行 2006-07-28 13:22
棧:是一塊連續(xù)的內(nèi)存的區(qū)域。這句話的意思是棧頂?shù)牡刂泛蜅5淖畲笕萘渴窍到y(tǒng)預(yù)先規(guī)定好的,在WINDOWS下,棧的大小是2M(也有的說是1M,總之是一個(gè)編譯時(shí)就確定的常數(shù)),如果申請的空間超過棧的剩余空間時(shí),將提示overflow。因此,能從棧獲得的空間較小。
堆:堆是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈表來存儲的空閑內(nèi)存地址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空間比較靈活,也比較大。
應(yīng)用文章中的話,在編譯時(shí),可以用/STACK命令來設(shè)置棧的大小,VC中默認(rèn)時(shí)2M,不過也有一個(gè)限制,堆的最大空間和機(jī)器位數(shù)有關(guān),32機(jī)上是4G吧。
堆:堆是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈表來存儲的空閑內(nèi)存地址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空間比較靈活,也比較大。
應(yīng)用文章中的話,在編譯時(shí),可以用/STACK命令來設(shè)置棧的大小,VC中默認(rèn)時(shí)2M,不過也有一個(gè)限制,堆的最大空間和機(jī)器位數(shù)有關(guān),32機(jī)上是4G吧。
re: 編譯后顯示和書上不一樣。。。。郁悶 任我行 2006-07-26 17:31
郁悶,為什么比較字串要這樣子呢,用strcmp吧
re: 三種動態(tài)調(diào)用方法 任我行 2006-07-26 10:07
VC不是C++? 也是C++的一個(gè)分支嘛?
真的是這樣嗎?真是在誤導(dǎo)別人!
并不只有C++才能寫DLL,
動態(tài)庫也并不只在Win中運(yùn)行,別的系統(tǒng)也可以有,只是格式和名稱不一樣而已。
真的是這樣嗎?真是在誤導(dǎo)別人!
并不只有C++才能寫DLL,
動態(tài)庫也并不只在Win中運(yùn)行,別的系統(tǒng)也可以有,只是格式和名稱不一樣而已。
re: 超級難過 任我行 2006-07-24 15:05
何必呢,傷了自己的身子。
萬事想開點(diǎn)。
萬事想開點(diǎn)。
re: 2006.07.07發(fā)的電路板,做回來了。 任我行 2006-07-21 20:22
這么簡單?
re: 編寫高效的C代碼 任我行 2006-07-21 20:14
好東西 ,這樣的文章越多越好。
re: 關(guān)于P2P應(yīng)用中NAT穿透技術(shù)的資料 任我行 2006-06-27 08:56
這個(gè)不錯(cuò)。收集了不少。
re: 卸載Intel C++ Compiler后Visual C++ 6.0不能工作了 任我行 2006-06-14 09:16
估計(jì)是你在卸載的時(shí)候,選中使用ICC編譯器的選項(xiàng)被你勾中了,而你在卸載前沒有取消,所以,導(dǎo)致了卸載ICC后,VC不能用了。
我卸載ICC后,VC一切正常。
我卸載ICC后,VC一切正常。
re: 編程感悟 任我行 2006-06-09 09:28
很好,希望以后能多多寫這樣的好文章。
re: 難道C/C++是塊難啃的骨頭,這里落戶的兄弟太少了 任我行 2006-06-06 10:29
@零點(diǎn)一刻
哈哈,同意。
哈哈,同意。
re: 難道C/C++是塊難啃的骨頭,這里落戶的兄弟太少了 任我行 2006-06-03 16:04
先上傳到自己blog的相冊里,然后在blog文章中引用圖片就可以了。
re: 通過user_string類,來看如何撰寫構(gòu)造函數(shù)。 任我行 2006-06-03 13:15
user_string & user_string::operator = (const user_string &other)
{
if ( m_pdata == other ) //這里錯(cuò)了。
return *this;
delete []m_pdata;
m_pdata = new char[strlen(other.m_pdata) + 1];
strcpy(m_pdata, other.m_pdata);
return * this;
}
{
if ( m_pdata == other ) //這里錯(cuò)了。
return *this;
delete []m_pdata;
m_pdata = new char[strlen(other.m_pdata) + 1];
strcpy(m_pdata, other.m_pdata);
return * this;
}
re: 十萬火急! 任我行 2006-06-03 09:04
給個(gè)它一個(gè)連接吧
re: 難道C/C++是塊難啃的骨頭,這里落戶的兄弟太少了 任我行 2006-06-02 09:12
@<font color="#FF00FF" >Stone Jiang
好像確實(shí)是很少寫B(tài)log
好像確實(shí)是很少寫B(tài)log
re: 理解復(fù)雜聲明 任我行 2006-05-31 08:46
這個(gè)不錯(cuò)。
收藏了。
收藏了。
re: 推薦兩款瀏覽器-FireFox&Maxthon 任我行 2006-05-30 17:46
Firefox 有Linux版,至于Maxthon就不太清楚了。
re: 網(wǎng)絡(luò)基礎(chǔ)知識講座之一:理解IPv4地址的含義 任我行 2006-05-30 08:29
暈倒。
你連dudu不認(rèn)識?
可以干掉你的賬號。封你的家。
你連dudu不認(rèn)識?
可以干掉你的賬號。封你的家。
我把方法一按編譯后偽代碼重寫一下:
這個(gè)寫法,你可以參考一下《高質(zhì)量C/C++》
int *p;
void swap(int *x,int *y)
{
int *_x = x;//原來函數(shù)內(nèi)的x都被替換為_x
int *_y = y;
cout<<"swap("<<*_x<<","<<*_y<<")"<<endl;
p=_x;
_x=_y;
_y=p;
cout<<"swap("<<*_x<<","<<*_y<<")"<<endl;
}
其他觀點(diǎn)都一樣。
我再說一下的是:x,y的值和x,y的地址是不一樣的。
這個(gè)寫法,你可以參考一下《高質(zhì)量C/C++》
int *p;
void swap(int *x,int *y)
{
int *_x = x;//原來函數(shù)內(nèi)的x都被替換為_x
int *_y = y;
cout<<"swap("<<*_x<<","<<*_y<<")"<<endl;
p=_x;
_x=_y;
_y=p;
cout<<"swap("<<*_x<<","<<*_y<<")"<<endl;
}
其他觀點(diǎn)都一樣。
我再說一下的是:x,y的值和x,y的地址是不一樣的。
是我沒有說明白,方法一交換了地址,不過是交換了零時(shí)值而已,不會影響到外面。
“臨時(shí)指針x,y所指向的 a,b的內(nèi)存地址”和“指針x,y的地址”是兩碼事。
“怎樣利用swap(int *x,int *y)交換x,y指向的地址值”,也就是a,b的內(nèi)存地址。
你能交換a,b的內(nèi)存地址么,不能。你要交換的是x,y的值。而不是交換a,b內(nèi)存的值。
“臨時(shí)指針x,y所指向的 a,b的內(nèi)存地址”和“指針x,y的地址”是兩碼事。
“怎樣利用swap(int *x,int *y)交換x,y指向的地址值”,也就是a,b的內(nèi)存地址。
你能交換a,b的內(nèi)存地址么,不能。你要交換的是x,y的值。而不是交換a,b內(nèi)存的值。
re: C++閱讀漸進(jìn)書目 任我行 2006-05-26 13:11
不是你沒時(shí)間,而是你不去讀。
本人看過其中的兩本多。但還不是領(lǐng)會通透。
本人看過其中的兩本多。但還不是領(lǐng)會通透。
re: [轉(zhuǎn)貼]一個(gè)中國黑客致中國黑客和紅客的公開信 任我行 2006-05-26 13:02
@HuYi
在一定程度上說,所有的程序員都是機(jī)器的Tester。
在一定程度上說,所有的程序員都是機(jī)器的Tester。
還以為你真的交換了地址呢,方法一才是交換了地址。
方法四只不過是交換了值。不防打印出他們的地址來看看。
交換地址需要傳指針的指針:
void swap(int **x,int **y)
{
cout<<*x<<" "<<*y<<endl;
int *t = *x;
*x = *y;
*y = *t;
cout<<*x<<" "<<*y<<endl;
}
方法四只不過是交換了值。不防打印出他們的地址來看看。
交換地址需要傳指針的指針:
void swap(int **x,int **y)
{
cout<<*x<<" "<<*y<<endl;
int *t = *x;
*x = *y;
*y = *t;
cout<<*x<<" "<<*y<<endl;
}
re: C++隨筆 關(guān)于賦值操作 內(nèi)存丟失 任我行 2006-05-23 08:53
嗯,是看錯(cuò)了.
CEntity & CEntity::operator=(const CEntity & ent)
{
if(m_flag != NULL){
delete []m_flag;
m_flag = NULL;
}
if(ent.m_flag!=NULL)
memcpy(m_flag, ent.m_flag, SIZE);
return *this;
}
CEntity & CEntity::operator=(const CEntity & ent)
{
if(m_flag != NULL){
delete []m_flag;
m_flag = NULL;
}
if(ent.m_flag!=NULL)
memcpy(m_flag, ent.m_flag, SIZE);
return *this;
}
re: C++隨筆 關(guān)于賦值操作 內(nèi)存丟失 任我行 2006-05-22 16:38
CEntity & CEntity::operator=(const CEntity & ent)
你的這個(gè)函數(shù)還是有問題。
else
{
if (m_flag == NULL)
{
m_flag = new char[SIZE];
}
在這里。
m_flag!=NULL的時(shí)候直接m_flag = NULL就造成了內(nèi)存泄漏,原來的m_flag指向的內(nèi)存丟失。
if(m_flag != NULL) delete []m_flag;
m_flag = new char[size];
你的這個(gè)函數(shù)還是有問題。
else
{
if (m_flag == NULL)
{
m_flag = new char[SIZE];
}
在這里。
m_flag!=NULL的時(shí)候直接m_flag = NULL就造成了內(nèi)存泄漏,原來的m_flag指向的內(nèi)存丟失。
if(m_flag != NULL) delete []m_flag;
m_flag = new char[size];
re: 查錯(cuò):下面的程序編譯沒問題,為什么運(yùn)行會出錯(cuò)呢 任我行 2006-05-15 11:43
char *s = "Student";
char *s1 = "Teacher";
改為:
char s[] = "Student";
char s1[] = "Teacher";
一字之差。
還有不少問題。
char *s1 = "Teacher";
改為:
char s[] = "Student";
char s1[] = "Teacher";
一字之差。
還有不少問題。
re: fatal error LNK1104: 無法打開文件“l(fā)ibboost_serialization-vc80-mt-gd-1_33_1.lib” 任我行 2006-05-15 11:39
記得好像先搜索編譯目錄下所有的Lib和Dll,然后都Copy到一個(gè)文件下,添加到VC中就可以了。
re: 終于看完了Effective STL,亂談 任我行 2006-05-13 20:55
thinking in java
Effective STL
都看完了,整個(gè)就是一個(gè)強(qiáng)字,
學(xué)習(xí)來了。
Effective STL
都看完了,整個(gè)就是一個(gè)強(qiáng)字,
學(xué)習(xí)來了。
re: [原創(chuàng)]用Winpcap函數(shù)轉(zhuǎn)發(fā)包需要留心的一點(diǎn) 任我行 2006-04-28 16:52
剛才練習(xí)了以下WinPcap,還是不太會用。
能否發(fā)些例子來學(xué)習(xí)學(xué)習(xí)。
先來一個(gè)發(fā)包程序,例如:自己組裝一些IP包,然后發(fā)出去,
在來一個(gè)收包程序,接收上面發(fā)過來的IP包,并提取其中相關(guān)的數(shù)據(jù)。
能否發(fā)些例子來學(xué)習(xí)學(xué)習(xí)。
先來一個(gè)發(fā)包程序,例如:自己組裝一些IP包,然后發(fā)出去,
在來一個(gè)收包程序,接收上面發(fā)過來的IP包,并提取其中相關(guān)的數(shù)據(jù)。
re: VC6 + ICC8.1+...VC6與VS2005媲美 任我行 2006-04-22 16:52
期待開源。
re: 我的第一篇文章 任我行 2006-04-22 09:16
推薦你用用。
Firefox沒有默認(rèn)的多頁顯示,要裝插件,瀏覽有些非標(biāo)準(zhǔn)網(wǎng)頁,顯示錯(cuò)亂,收藏夾好像不和IE兼容,
用FF不久,所以一直用Maxthon,一安裝就支持,多頁顯示,支持拖拽,廣告過濾等。
Firefox沒有默認(rèn)的多頁顯示,要裝插件,瀏覽有些非標(biāo)準(zhǔn)網(wǎng)頁,顯示錯(cuò)亂,收藏夾好像不和IE兼容,
用FF不久,所以一直用Maxthon,一安裝就支持,多頁顯示,支持拖拽,廣告過濾等。
re: 最近學(xué)習(xí)計(jì)劃 任我行 2006-04-22 09:11
Email:oosky@163.com
re: 我的第一篇文章 任我行 2006-04-21 13:26
我一般都用Maxthon,習(xí)慣了它。
re: 最近學(xué)習(xí)計(jì)劃 任我行 2006-04-21 13:23
嗯,不錯(cuò)。
都是好書。
安排的順序也蠻好的。
和我的計(jì)劃也一樣。不過,我看一本都沒看完就丟了,看另一本了。
很是浮躁。
對了,《Inside The C++ Object Model》你有清晰的電子版?我這份很是模糊,看起來非常吃力。
謝謝了
都是好書。
安排的順序也蠻好的。
和我的計(jì)劃也一樣。不過,我看一本都沒看完就丟了,看另一本了。
很是浮躁。
對了,《Inside The C++ Object Model》你有清晰的電子版?我這份很是模糊,看起來非常吃力。
謝謝了
re: 一道極其簡單的ACM題,為什么第2段代碼通不過測試? 任我行 2006-04-20 08:24
寫的真亂。下面寫法為什么意思?
bool ignore=true;
while(!istr.eof()){
istr>>temp;
if(ignore==true){
ignore=false;
continue;
}
array.push_back(temp);
}
bool ignore=true;
while(!istr.eof()){
istr>>temp;
if(ignore==true){
ignore=false;
continue;
}
array.push_back(temp);
}
re: 前段時(shí)間做的部分筆試題和答案 任我行 2006-04-18 13:05
char *mystrcpy(char *dst, const char *src)
{
char *ret = dst;
assert(NULL != dst && NULL != src);
while (*dst++ = *src++);
return ret;
}
{
char *ret = dst;
assert(NULL != dst && NULL != src);
while (*dst++ = *src++);
return ret;
}
re: [求助]急求關(guān)于在vc6.0中插入的匯編語句調(diào)用api函數(shù)的具體方法 任我行 2006-04-17 11:58
你的函數(shù)中需要用到哪些寄存器就需要進(jìn)棧保存這些在函數(shù)調(diào)用前的值,
比如:mov ecx 0ffff;
如果你在函數(shù)用用到ecx這個(gè)東西,那你就需要進(jìn)棧保存它,
push ecx
函數(shù)調(diào)用完,然后
pop ecx
一般不用理會這些,編譯器會在函數(shù)調(diào)用前幫你做這些的。
比如:mov ecx 0ffff;
如果你在函數(shù)用用到ecx這個(gè)東西,那你就需要進(jìn)棧保存它,
push ecx
函數(shù)調(diào)用完,然后
pop ecx
一般不用理會這些,編譯器會在函數(shù)調(diào)用前幫你做這些的。
re: [求助]急求關(guān)于在vc6.0中插入的匯編語句調(diào)用api函數(shù)的具體方法 任我行 2006-04-17 09:56
匯編學(xué)了些,但沒有學(xué)好。略懂皮毛。
api函數(shù)的壓棧出棧和一般函數(shù)的壓棧出棧沒有什么不同吧。這個(gè)問題找找匯編知識應(yīng)該有提示。壓棧就是保存現(xiàn)場,也就是保存現(xiàn)在的CPU寄存器,出棧就是恢復(fù)現(xiàn)場。
api函數(shù)的壓棧出棧和一般函數(shù)的壓棧出棧沒有什么不同吧。這個(gè)問題找找匯編知識應(yīng)該有提示。壓棧就是保存現(xiàn)場,也就是保存現(xiàn)在的CPU寄存器,出棧就是恢復(fù)現(xiàn)場。
re: [原創(chuàng)]用Winpcap函數(shù)轉(zhuǎn)發(fā)包需要留心的一點(diǎn) 任我行 2006-04-17 09:26
@saga.constantine
好,其實(shí)我想做一個(gè)proxy,先收,再改,然后發(fā)。
有方向就好辦了。到時(shí)搞到問題再來向你要答案。
好,其實(shí)我想做一個(gè)proxy,先收,再改,然后發(fā)。
有方向就好辦了。到時(shí)搞到問題再來向你要答案。
re: [原創(chuàng)]用Winpcap函數(shù)轉(zhuǎn)發(fā)包需要留心的一點(diǎn) 任我行 2006-04-17 08:43
學(xué)習(xí)中,我要做的是先收包,然后修改包頭,再發(fā)送包。
還不知道WinPcap能否做到。
我也看了看這個(gè)庫。沒有你研究的那么深入。
我在這里關(guān)注你的進(jìn)展。
還不知道WinPcap能否做到。
我也看了看這個(gè)庫。沒有你研究的那么深入。
我在這里關(guān)注你的進(jìn)展。
re: sap的幾道筆試題目(轉(zhuǎn)) 任我行 2006-04-13 08:47
1.
public: derived(int x, int y) {i=x;}
//derived(int x, int y):base(y){i=x;}
void printTotal() {int total = i+#base::i#;}
2.
try{
m_fi = new FI();
}
catch(bad_alloc &){
delete m_hr;
}
3.前兩題題目重復(fù)吧。
Cout<<sizeof(Base)<<endl; //32
A. 4 B.32 C.20 D.Platform-dependent
Cout<<sizeof(Base)<<endl;
A. 4 B.8 C.36 D.Platform-dependent
3.3
pb->f(1.0); //Base::f(double)
pb->g();//Derived::g()20
public: derived(int x, int y) {i=x;}
//derived(int x, int y):base(y){i=x;}
void printTotal() {int total = i+#base::i#;}
2.
try{
m_fi = new FI();
}
catch(bad_alloc &){
delete m_hr;
}
3.前兩題題目重復(fù)吧。
Cout<<sizeof(Base)<<endl; //32
A. 4 B.32 C.20 D.Platform-dependent
Cout<<sizeof(Base)<<endl;
A. 4 B.8 C.36 D.Platform-dependent
3.3
pb->f(1.0); //Base::f(double)
pb->g();//Derived::g()20
re: 實(shí)現(xiàn)(關(guān)于《[求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!》這篇文章) 任我行 2006-04-12 16:53
Matrix operator*(const Matrix& a,const Matrix& b)
感覺還有問題。
a,b的row,column 不相等沒有考慮。
感覺還有問題。
a,b的row,column 不相等沒有考慮。
re: VC6 + ICC8.1+...VC6與VS2005媲美 任我行 2006-04-12 09:04
liscense 不可以用到9.0上。
ICC9.0的liscense到網(wǎng)上去搜搜。
ICC9.0的liscense到網(wǎng)上去搜搜。
re: 動態(tài)數(shù)組不能用在二維……(慚愧現(xiàn)在才知道) 任我行 2006-04-11 16:09
simulate array
int **gf16 = (int**)malloc(sizeof(int*)*16);
for (m = 0; m < 16; m++) {
gf16[m] = (int*)malloc(sizeof(int)*4);
}
for (i = 0; i < 4; i++)
gf16[i][i] = 1;
int **gf16 = (int**)malloc(sizeof(int*)*16);
for (m = 0; m < 16; m++) {
gf16[m] = (int*)malloc(sizeof(int)*4);
}
for (i = 0; i < 4; i++)
gf16[i][i] = 1;
re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!! 任我行 2006-04-11 16:05
void Matrix::Mul(Matrix a,Matrix b)給誰用呢?
共2頁: 1 2