• <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>

            C++忠實(shí)用戶

            好好研究,天天想上。

            SZ4J從事了編程工作(大多數(shù)程序員都是編程開發(fā)做起的)

                    我們進(jìn)入這個(gè)行業(yè),從事了編程工作(大多數(shù)程序員都是編程開發(fā)做起的)。我相信很多程序員的初衷,都是對編程開發(fā)有很大的興趣,興趣驅(qū)使著我們熬夜,驅(qū)使著我們研究, 驅(qū)使著我們進(jìn)步。對于CC++程序員,我相信興趣占有很大的比重。那么,我們來舉幾個(gè)例子:

                    你應(yīng)該看過《SZ4J》這本書吧,這是一本非常細(xì)致和美妙的書,我想你應(yīng)該有這樣的感受。那么在此基礎(chǔ)之上,你有過更多的思考嗎?這本書里都是以實(shí)例和理論來進(jìn)行講解的,實(shí)例是以C++語言進(jìn)行描述的。于是你是否有想知道在具體的編譯器和平臺下的這樣一些疑問:

                            1、this指針是怎么傳遞進(jìn)成員函數(shù)的?成員函數(shù)和普通函數(shù)以及靜態(tài)成員函數(shù)有何區(qū)別和聯(lián)系?

                            2、透過語法,成員函數(shù)和類在內(nèi)存中有什么聯(lián)系?對象和成員函數(shù)有何種聯(lián)系?

                            3、函數(shù)間的調(diào)用原理,是怎么實(shí)現(xiàn)的?

                            4、__cdecl、__stdcall、__thiscall和__fastcall這幾種函數(shù)調(diào)用方式,在本質(zhì)上有什么區(qū)別?具體是怎么實(shí)現(xiàn)的?

                            5、虛函數(shù)、多態(tài)和繼承在本質(zhì)上的體現(xiàn),以及這些機(jī)制在底層是怎么實(shí)現(xiàn)的?

            除此之外,你在學(xué)習(xí)和使用CC++的時(shí)候,我想你還會在乎一些細(xì)節(jié),例如:

                            1、遞歸函數(shù)一定會導(dǎo)致低效?編譯器針對遞歸函數(shù)會不會有什么樣的優(yōu)化?你怎么知道這些優(yōu)化細(xì)節(jié)?

                            2、對于這句代碼:int b = a > 0 ? 100 : 200;  // int a;      編譯器會有什么細(xì)節(jié)上的優(yōu)化?這句代碼會有比較并跳轉(zhuǎn)的過程嗎?

                            3、對于這樣的代碼:      

            1. #include <stdio.h>   
            2. int a = 10;  
            3. int main( void )  
            4. {  
            5.     printf( "%d", a );  
            6.     return 0;  
            7. }                        

                            4、對于:float a = 100;  int b = a / 30;  在VC下,你會不會懷疑這兩句代碼背后會存在函數(shù)調(diào)用?如果有,調(diào)用了什么函數(shù)?為什么?

                            5、對于__declspec( thread ) int g_nNum = 0; 你知道g_nNum++;這句代碼背后的具體實(shí)現(xiàn)機(jī)制嗎?

                            6、對于調(diào)試,你會怎么根據(jù)自己記錄的程序崩潰時(shí)的堆棧現(xiàn)場及其它信息來錯誤跟蹤查找呢?

                            7、對于開發(fā)游戲來說,你怎么知道外掛是怎么修改游戲程序的,修改了哪個(gè)地方呢?

                            8、你要怎么熟悉編譯器的優(yōu)化細(xì)節(jié),怎么寫出適應(yīng)它的代碼,怎么寫出比它優(yōu)化得更好的代碼?

                    還有很多這樣上層開發(fā)的例子,這里就不一一列舉了。從上面列舉的這些疑問,我想作為一名CC++程序員,熱愛編程開發(fā)的程序員來講,你都想知道其中的原委。作為上層開發(fā)者,是應(yīng)該關(guān)注上層的功能開發(fā)和產(chǎn)品方面的東西。但是我個(gè)人覺得,本著技術(shù),本著這份熱愛,本著自身的技術(shù)發(fā)展,了解更底層一些,有助于上層開發(fā)的通透性,以及全局的掌控力度。從我個(gè)人的感受來講,當(dāng)把握了關(guān)鍵細(xì)節(jié)以及全局設(shè)計(jì)之后,任何地方出了問題,都能很及時(shí)的反應(yīng)并予以追查和處理。在當(dāng)前的編譯器技術(shù)上,已經(jīng)非常強(qiáng)大了,很多細(xì)節(jié)可以放心的交給編譯器來優(yōu)化和處理。但是我想,編譯器不是萬能的,人才是最智能的。掌握不是必然,但掌握了會更好。

                    對于初學(xué)者乃至工作了一定時(shí)間的程序員,對于CC++,很多處于CC++語法的層面,在語法上的條條款款使用得得心應(yīng)手,問其本質(zhì),可能就缺乏一二了。我個(gè)人的經(jīng)歷來看,在掌握語法之后,在向下關(guān)注一下語法背后的具體實(shí)現(xiàn),會通透很多。你會在內(nèi)存上、數(shù)據(jù)上和程序的各種底層運(yùn)行機(jī)制上會有深刻的認(rèn)識。這也就是為什么去海邊玩兒,還要潛水去看看海底世界。錯過了海底,你會失去很多精彩,而這些精彩我想也是作為程序員應(yīng)有的追求之一。

                    對于java、C#以及WEB類領(lǐng)域的程序員,我想?yún)R編可能相對遙遠(yuǎn)一些。在這方面的關(guān)注也會相對少一些,但結(jié)合前面的觀點(diǎn),作為程序員這個(gè)角色,都是讓自己的程序在機(jī)器上面跑起來,那么我想這之間的諸多底層的疑問可以作為程序員的一種興趣來研究。目的也是為了讓自己更通透,更熟悉自己的平臺。我不知道怎么表達(dá)通透二字,就我個(gè)人的感受就是,能夠從現(xiàn)象聯(lián)系到本質(zhì)實(shí)現(xiàn),并且能夠從本質(zhì)實(shí)現(xiàn)勾勒出一幅很清晰生動的圖像在腦子里,一切都一目了然盡收眼底。有點(diǎn)居高臨下,望長城內(nèi)外,惟余莽莽的那種寬廣的感觸。

                    對于本身就處于底層開發(fā)的程序員來說,無可厚非,掌握匯編就是必須的了。但是澄清一點(diǎn),本文的觀點(diǎn)更多的是從興趣和通透性上出發(fā),對于底層開發(fā)者可能會覺得底層有一定的枯燥,特別是整天破解、逆向等工作,非常多的體力活,從我?guī)啄甑臉I(yè)余破解和逆向經(jīng)驗(yàn)來看的確是這樣的。但是我覺得,破解和逆向只是領(lǐng)域之一,我之所以破解和逆向,很多時(shí)候是處于興趣和為了對上層進(jìn)行更本質(zhì)和合理的解釋。所以,上層和底層結(jié)合,才是我的根本目的,也是本文想推崇的一種思路。

                    綜上所述,我的觀點(diǎn)是CC++程序員乃至程序員,不管是作為興趣還是工作,掌握或者了解一下匯編都是有一定必要的,但不是強(qiáng)制性的,也正所謂需求和追求不盡相同罷了。因此,不要問別人到底是否應(yīng)該關(guān)注一下底層,掌握一下某種匯編語言,答案很明顯。
            http://blog.sina.com.cn/s/blog_8f1b350e0100xj8g.html
            http://blog.sohu.com/people/news2011list002/184677286.html

            posted on 2011-09-16 15:34 C++忠實(shí)用戶 閱讀(313) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久久99精品成人片| 97精品依人久久久大香线蕉97| 国产激情久久久久影院老熟女免费| 久久精品无码一区二区三区| 99久久国语露脸精品国产| 久久精品男人影院| 欧美日韩精品久久久久 | 久久久久久久女国产乱让韩| 品成人欧美大片久久国产欧美| 久久九色综合九色99伊人| 亚洲精品综合久久| 国产V综合V亚洲欧美久久| 国产高潮久久免费观看| 久久综合亚洲色HEZYO社区| 国产精品久久久久aaaa| 亚洲国产成人乱码精品女人久久久不卡 | 内射无码专区久久亚洲| 日韩精品久久无码人妻中文字幕| 久久噜噜电影你懂的| 色婷婷噜噜久久国产精品12p| 亚洲国产精品无码成人片久久| 色综合久久综合网观看| 热久久最新网站获取| 国产情侣久久久久aⅴ免费| 久久精品国产亚洲AV影院| 久久高潮一级毛片免费| 99热成人精品热久久669| 久久久久久久精品成人热色戒| 人人狠狠综合88综合久久| 国产精品久久波多野结衣| 女人高潮久久久叫人喷水| 久久国产免费| 久久e热在这里只有国产中文精品99| 国产∨亚洲V天堂无码久久久| 久久笫一福利免费导航| 99久久国产亚洲高清观看2024| 狠狠色丁香久久婷婷综合| 国产一区二区精品久久凹凸| 一本一道久久精品综合| 青青青国产精品国产精品久久久久 | 韩国三级大全久久网站|