re: C++著名程序庫的比較和學習經驗 Kenny Jiang 2011-04-29 11:06
@Nickolas
在家里也不忘了學習,大牛同學。
re: 創建COM組件的全過程分析 Kenny Jiang 2011-04-23 21:32
@fazhang
COM本質論
COM技術內幕
re: 郭靖與黃蓉——真愛無敵 Kenny Jiang 2011-04-23 17:15
@misserwell
小說固然超越生活,但是也是源于生活的。雖然有些不著邊際,理想主義,但也是人們的希望。
re: 進程虛擬地址空間 Kenny Jiang 2011-04-23 12:29
@byhh
恩,是的,用才是王道。光看是不好使的。不過看過之后,多方總結,寫出來映像會很深刻,多多指點。啊。
re: 函數調用的區別:_cdecl以及_stdcall Kenny Jiang 2011-04-20 17:12
@溪流
呵呵,壓棧是主調函數做的,但是出棧就不同了。
一點都不給博主點面子,回復很犀利,呵呵。
re: 函數調用的區別:_cdecl以及_stdcall Kenny Jiang 2011-04-20 17:11
@陳梓瀚(vczh)
恩,你說的對。
gcc能調用win api是因為win api缺省都是_stdcall,由被調者銷毀堆棧。如果是cdecl那么就會出現問題。而C++/c缺省是cdecl,所以在導出函數接口時(如自己寫的DLL),需要特別強調是_stdcall才可以被別的語言正常使用。
re: 函數調用的區別:_cdecl以及_stdcall Kenny Jiang 2011-04-20 12:47
@溪流
你可以詳細看看博客,這個是有區別的。
re: 函數調用的區別:_cdecl以及_stdcall Kenny Jiang 2011-04-20 12:43
@Lo
額,我們的程序能夠正常運行都是編譯器的功勞,每種語言都有自己的編譯器,而且不止一種,如c++有gcc,vs等。他們的約定方式不同,所以如果用vs調用gcc編譯產生的庫,那么vs可能不能正確釋放gcc的棧,所以跨平臺時,建議是函數本身釋放這些空間,而不是調用者,即_stdcall方式。
re: 函數調用的區別:_cdecl以及_stdcall Kenny Jiang 2011-04-19 17:57
@溪流
_cdecl是由調用者銷毀的。不同的編譯器產生棧的方式不盡相同,所以在跨語言時是不適用的。
re: DLL的那些事兒 Kenny Jiang 2011-04-19 13:43
@ToughLife
首先說明一下,對DLL來說,DllMain不是必須的。
Dll可以有單一的入口函數DllMain。系統在不同的時機調用該入口函數。如在執行單個進程或單個線程的初始化和清除操作時。
如果DLL不需要這些通知,那么就不必再DLL的源代碼中實現此函數。
re: 進程虛擬地址空間 Kenny Jiang 2011-04-17 13:26
@Cunch
這是我看各種書總結出來的,主要有 windows核心編程 匯編語言 和網上的一些貼子。你可以看看上面所說。