新聞中心

        EEPW首頁 > 牛人業話 > 數組越界真可怕,莫名就闖到了別人家

        數組越界真可怕,莫名就闖到了別人家

        作者:天雷君 時間:2018-11-30 來源:電子產品世界 收藏

        “悄悄是別離的笙簫,沉默是今晚的康橋。悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片云彩。”情圣徐志摩的這首《再別康橋》膾炙人口,當年傳遍大江南北,撩動了無數少女的芳心。民國才女林徽因經受住了徐志摩諸多情詩的狂轟濫炸,與梁家大公子思成君喜結連理,一對金童玉女完美結合,雙雙投身建筑事業,為中國古建筑的保護和傳承留下了不可磨滅的功勛。

        本文引用地址:http://www.104case.com/article/201811/395096.htm

        1543555630791693.jpg

          相較之下,頭頂民國四大美女之一光環的陸小曼就沒有那般矜持了,貪戀美色的志摩君在一股股不能自抑的荷爾蒙的沖擊下,將發妻、老父和家庭倫理置于腦后,將社會輿論、閑言碎語視若浮云,對國色天香的陸小曼狂轟亂炸,在那甜到心里、酥到骨里的情詩的幾番引逗之下,嫁做人婦的陸小曼出了軌,越了界,離了婚,和志摩君各取所需、“相親相愛”地結合在了一起。只是,“王子和公主并沒有永遠幸福地生活在一起”,為了滿足陸小曼紙醉金迷、驕奢淫逸的生活,徐志摩拖著腎虧的身體四處走穴講課,一代才子竟最終死于空難,客死他鄉。

          不知道,這是不是“青年導師”俞敏洪先生口中所謂的“女子墮落導致家庭墮落”的經典案例呢?

          看來,“越界”真的沒有好下場,破壞了兩個家庭不說,最終自己也搞到家破人亡。天圓地方、大道以常,不只是愛情、婚姻的“越界”會遭到天譴,搞嵌入式寫代碼的,遇到“越界”也會被搞得棲棲遑遑。

          1

          我一直覺得,程序員就是一個多疑到有些神經兮兮的群體,每每出了bug,便懷疑起天,懷疑起地,懷疑起賴以生存的空氣。這不,天雷君又開始作了,對著一個bug,竟然無端地懷疑起1+1不等于2起來了。

        1543555662632882.jpg

          照例,灑家先不惜筆墨,把這個bug放在實際應用背景和程序中簡單描述一番。

          筆者這款產品帶有遙控功能,接收到遙控器發送的遙控報文后,從中提取出相應的命令數據,根據命令執行相關操作。程序的第一步就是接收遙控報文中的數據場中的數據位流,把這些數據位按照每八位組合成一個字節的方式,提取出字節形式的數據。

          通過巧妙地設計遙控報文的格式,程序可以檢測出“報文數據場”的第一個數據位,然后依序將每八個數據位存儲到一個字節形式的成員中,統計到固定的數據位長度后,“報文數據場”檢測結束,之后便是對數據進行解密、解析的事情了。

          顯然,這里的數據位長度是8的倍數,在這個遙控報文中,數據位的個數是288,數據長度為288/8=36個字節,字節形式的數據定義為Rx_rawbit[36]。在程序里,數據位的長度以一個16位的變量Rf_bit_count表示,接收到一位數據位,將Rf_bit_count加一,Rf_bit_coun加到288,就說明接收完了所有的數據位。

          上述Rx_rawbit數組成員為Rx_rawbit[0]- Rx_rawbit[35],數組下標從0開始,數據位的一般表示方法為0-7位,顯然,第一個數據位存放在第0個字節的第0位,第二個數據位存放在第0個字節的第1位,。。。,第九個數據位存放在第1個字節的第0位,。。。,

          以此類推,第n+1個數據位存放在第(n>>3)個字節的第(n & 0x07)位。

          2

          正經八百的解釋到此基本結束,灑家不由得想起了《末代皇帝》里的經典畫面,三歲的溥儀被接入皇宮,舉行登基大典,小宣統被烏壓壓的場面煩躁地不行,眼看著就要大哭起來,他的父親-當時的攝政王不停地安慰他,‘快完了,快完了!’我想告訴各位看官的是,我的描述還差一點點,‘快完了!’

          還記得那個“把大象放進冰箱分為幾步?”的經典笑話嗎?做為一名優秀的“嘮嗑鐘點工”,丹丹大媽給出的答案是兩步,第一步,打開冰箱,第二步,把大象放到冰箱里。雖說是典型的腦筋急轉彎,但是蘊含著深刻的智慧。

        1543555699728751.jpg

          灑家借花獻佛,也把這里存放數據位的操作分為兩步。



        上一頁 1 2 3 下一頁

        關鍵詞: 數組

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临城县| 康马县| 长子县| 东阿县| 土默特左旗| 绿春县| 景德镇市| 井冈山市| 屯昌县| 宽甸| 壶关县| 桓台县| 金塔县| 乌鲁木齐市| 洪湖市| 钟祥市| 广州市| 蒲江县| 河源市| 化州市| 永修县| 乌海市| 深泽县| 迭部县| 南川市| 黑龙江省| 太和县| 高雄县| 平南县| 彩票| 潜江市| 宜兰市| 屏南县| 吴旗县| 临安市| 铅山县| 临沭县| 石阡县| 乌恰县| 阿尔山市| 曲阜市|