• <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語言代碼,是許多軟件工程師追求的目標。本文就是針對編程工作中的一些體會和經驗做相關的闡述。

              第一招:以空間換時間

              計算機程序中最大的矛盾是空間和時間的矛盾,那么,從這個角度出發逆向思維來考慮程序的效率問題,我們就有了解決問題的第1招--以空間換時間。比如說字符串的賦值:

              方法A:通常的辦法

            #define LEN 32
            char string1 [LEN];
            memset (string1,0,LEN);
            strcpy (string1,"This is a example!!");

              方法B:

            const char string2[LEN] ="This is a example!";
            char * cp;
            cp = string2 ;

              使用的時候可以直接用指針來操作。

              從上面的例子可以看出,A和B的效率是不能比的。在同樣的存儲空間下,B直接使用指針就可以操作了,而A需要調用兩個字符函數才能完成。B的缺點在于靈活性沒有A好。在需要頻繁更改一個字符串內容的時候,A具有更好的靈活性;如果采用方法B,則需要預存許多字符串,雖然占用了大量的內存,但是獲得了程序執行的高效率。

              如果系統的實時性要求很高,內存還有一些,那我推薦你使用該招數。該招數的變招--使用宏函數而不是函數。舉例如下:

              方法C:

            #define bwMCDR2_ADDRESS 4
            #define bsMCDR2_ADDRESS 17
            int BIT_MASK(int __bf)
            {
             return ((1U << (bw ## __bf)) - 1)<< (bs ## __bf);
            }
            void SET_BITS(int __dst,
            int __bf, int __val)
            {
             __dst = ((__dst) & ~(BIT_MASK(__bf))) |
            \
             (((__val) << (bs ## __bf))
            & (BIT_MASK(__bf))))
            }

            SET_BITS(MCDR2, MCDR2_ADDRESS,RegisterNumber);

              方法D:

            #define bwMCDR2_ADDRESS 4
            #define bsMCDR2_ADDRESS 17
            #define bmMCDR2_ADDRESS BIT_MASK(MCDR2_ADDRESS)
            #define BIT_MASK(__bf)
            (((1U << (bw ## __bf)) - 1)
            << (bs ## __bf))
            #define SET_BITS(__dst, __bf, __val)
            \
            ((__dst) = ((__dst) & ~(BIT_MASK(__bf)))
            | \
            (((__val) << (bs ## __bf))
            & (BIT_MASK(__bf))))

            SET_BITS(MCDR2, MCDR2_ADDRESS,
            RegisterNumber);

              函數和宏函數的區別就在于,宏函數占用了大量的空間,而函數占用了時間。大家要知道的是,函數調用是要使用系統的棧來保存數據的,如果編譯器里有棧檢查選項,一般在函數的頭會嵌入一些匯編語句對當前棧進行檢查;同時,CPU也要在函數調用時保存和恢復當前的現場,進行壓棧和彈棧操作,所以,函數調用需要一些CPU時間。

              而宏函數不存在這個問題。宏函數僅僅作為預先寫好的代碼嵌入到當前程序,不會產生函數調用,所以僅僅是占用了空間,在頻繁調用同一個宏函數的時候,該現象尤其突出。

              D方法是我看到的最好的置位操作函數,是ARM公司源碼的一部分,在短短的三行內實現了很多功能,幾乎涵蓋了所有的位操作功能。C方法是其變體,其中滋味還需大家仔細體會。

            第二招:數學方法解決問題

              現在我們演繹高效C語言編寫的第二招--采用數學方法來解決問題。數學是計算機之母,沒有數學的依據和基礎,就沒有計算機的發展,所以在編寫程序的時候,采用一些數學方法會對程序的執行效率有數量級的提高。舉例如下,求 1~100的和。

              方法E:

            int I , j;
            for (I = 1 ;I<=100; I ++)
            {
             j += I;
            }

              方法F

            int I;
            I = (100 * (1+100)) / 2

              這個例子是我印象最深的一個數學用例,是我的計算機啟蒙老師考我的。當時我只有小學三年級,可惜我當時不知道用公式 N×(N+1)/ 2 來解決這個問題。方法E循環了100次才解決問題,也就是說最少用了100個賦值,100個判斷,200個加法(I和j);而方法F僅僅用了1個加法,1次乘法,1次除法。效果自然不言而喻。所以,現在我在編程序的時候,更多的是動腦筋找規律,最大限度地發揮數學的威力來提高程序運行的效率。

              第三招:使用位操作

              實現高效的C語言編寫的第三招——使用位操作。減少除法和取模的運算。在計算機程序中數據的位是可以操作的最小數據單位,理論上可以用"位運算"來完成所有的運算和操作。一般的位操作是用來控制硬件的,或者做數據變換使用,但是,靈活的位操作可以有效地提高程序運行的效率。舉例如下:

              方法G

            int I,J;
            I = 257 /8;
            J = 456 % 32;

              方法H

            int I,J;
            I = 257 >>3;
            J = 456 - (456 >> 4 << 4);

              在字面上好像H比G麻煩了好多,但是,仔細查看產生的匯編代碼就會明白,方法G調用了基本的取模函數和除法函數,既有函數調用,還有很多匯編代碼和寄存器參與運算;而方法H則僅僅是幾句相關的匯編,代碼更簡潔,效率更高。當然,由于編譯器的不同,可能效率的差距不大,但是,以我目前遇到的MS C ,ARM C 來看,效率的差距還是不小。相關匯編代碼就不在這里列舉了。

              運用這招需要注意的是,因為CPU的不同而產生的問題。比如說,在PC上用這招編寫的程序,并在PC上調試通過,在移植到一個16位機平臺上的時候,可能會產生代碼隱患。所以只有在一定技術進階的基礎下才可以使用這招。

              第四招:匯編嵌入

              高效C語言編程的必殺技,第四招——嵌入匯編。"在熟悉匯編語言的人眼里,C語言編寫的程序都是垃圾"。這種說法雖然偏激了一些,但是卻有它的道理。匯編語言是效率最高的計算機語言,但是,不可能靠著它來寫一個操作系統吧?所以,為了獲得程序的高效率,我們只好采用變通的方法--嵌入匯編,混合編程。舉例如下,將數組一賦值給數組二,要求每一字節都相符。

            char string1[1024],string2[1024];

              方法I

            int I;
            for (I =0 ;I<1024;I++)
             *(string2 + I) = *(string1 + I)

              方法J

            #ifdef _PC_
            int I;
            for (I =0 ;I<1024;I++)
            *(string2 + I) = *(string1 + I);
            #else
            #ifdef _ARM_
            __asm
            {
             MOV R0,string1
             MOV R1,string2
             MOV R2,#0
            loop:
             LDMIA R0!, [R3-R11]
             STMIA R1!, [R3-R11]
             ADD R2,R2,#8
             CMP R2, #400
             BNE loop
            }
            #endif

              方法I是最常見的方法,使用了1024次循環;方法J則根據平臺不同做了區分,在ARM平臺下,用嵌入匯編僅用128次循環就完成了同樣的操作。這里有朋友會說,為什么不用標準的內存拷貝函數呢?這是因為在源數據里可能含有數據為0的字節,這樣的話,標準庫函數會提前結束而不會完成我們要求的操作。這個例程典型應用于LCD數據的拷貝過程。根據不同的CPU,熟練使用相應的嵌入匯編,可以大大提高程序執行的效率。

              雖然是必殺技,但是如果輕易使用會付出慘重的代價。這是因為,使用了嵌入匯編,便限制了程序的可移植性,使程序在不同平臺移植的過程中,臥虎藏龍,險象環生!同時該招數也與現代軟件工程的思想相違背,只有在迫不得已的情況下才可以采用。
            Posted on 2005-12-07 14:54 艾凡赫 閱讀(619) 評論(4)  編輯 收藏 引用 所屬分類: C語言

            Feedback

            # re: C語言高效編程的四大絕招  回復  更多評論   

            2007-10-22 22:34 by 無間
            高手!

            # re: C語言高效編程的四大絕招  回復  更多評論   

            2008-04-06 00:00 by 語言教學
            法語培訓班

            北大燕園智峰教育培訓中心以精品10人小班為特色,成功的的培養了無數的留學人員。師資力量雄厚,所有法語教師均來自于北大、北外院校法語系,或在法國留學過一年至五、六年。開設有不同階段的班別,適合不同學員的需求。
            ò法語是聯合國和國際奧林匹克委員會的主要官方語言之一。
            ò法語是許多國家的官方語言:法國、加拿大、比利時、瑞士、盧森堡,以及大部分北非、西非國家。
            ò法國是歐洲的主要國家之一,想要深入地了解歐洲以及法國文化,就需要學習法語。
            ò法語與英語不屬同一語系,但有許多單詞拼法相同,因此學習法語能有效地促進英語詞匯量的提高。
            ò法語是拉丁語系的成員,學好法語就能很輕松地掌握西班牙語和意大利語。
            ò學習法語,掌握第二門外語,加強您的職場競爭力。

            <<師資介紹>>教師全部是多年講課經驗的專業教師組成,由北大,北外及法國研究生畢業歸來,任教法語脫產班由5年以上的中年老師們擔任.講課風格各有特色,幽默,風趣中,把學員帶進了輕松過聽,說,讀,寫的語言關.學員在手把手的學習中,不斷感受到特殊的學習方法及技巧,而且感受到接觸外教對話的訓練課程并接受專業的面試鑒證關訓練.在本校中學過的無數學員6年來面試水平全部過關,百分百順利拿到資格證出國深造.
            難怪新老學員一致肯定:在此培訓中心學習法語是走向成功的首選前提!
            <<使用教材>>明法語教程,簡明法語教程,現代法語,新無國界教程,法語口語訓練等內部教材。
            <<培訓對象>>法語零基礎學員,法語愛好者,留學,貿易需求,出差,探親,移民,工作等人員!
            <<班級規模>>精品10人小班授課,為每一位學習者打造包教包會的程度.
            <<課程介紹>>零起點起步,初級,中級,高級班.脫產500學時班.滾動式教學.可插班.

            備注:
            1、每月循環開班。
            2、可為外地學員提供住宿。

            3月班
            課 程 安 排

            語種 教師 學時 次數 上課地點 學費 開課日期 上課時間 常年開課
            法語零起點班(周六班) 北大、北外 60 11周 北大 700元 周六班3月22日-5月31日 周六下午
            3:30-7:00 滾動開班
            隨到隨學
            法語零起點班(周日班) 北大、北外 60 11周 北大 700元 周日班3月30日-6月8日 周日上午8:30-12:00 滾動開班
            隨到隨學
            法語零起點-中級班
            (白天班)上、下冊 北大、北外 500 83次 北大 6800元(含教材) 周1-周5白天班
            3月31日-7月25日 周1-周5
            1:30-5:30 滾動開班
            隨到隨學
            法語零起點-初級提高班
            (白天班)上冊 北大、北外 300 50次 北大 4500元(含教材) 周1-周5白天班
            3月31日-6月10日 周1-周5
            1:30-5:30 滾動開班
            隨到隨學


            咨詢熱線:(010)62756072 (010)62755320
            外地學員報名:開課前3天學費務必打到本培訓中心,可住宿:400-500元/月 3人-4人
            方式:銀行入款,匯款,或朋友轉交等.保存存根,作為上課憑據.
            報名地址:北大資源賓館寫字樓5層1516室
              乘車路線:人民大學往北乘車718、332、運通106 海淀硅谷下車,右側即是。

            # 輕松學院  回復  更多評論   

            2008-04-06 00:04 by 語言教學
            北京燕園智峰韓語培訓中心

            韓語:依附于漢城(首爾)著名大學--漢城(首爾)大學的授課內容,短期內使學員快速掌握韓語培訓的聽、說、讀寫能力。教員由漢城(首爾)著名大學--延世大學的講師和漢城(首爾)專業培訓的歸國老師共同打造韓語課程。本班質量可靠、學費低廉,是大學生選擇學韓語的首佳之選。培訓機構自從開辦六年以來,無論從信譽還是質量上一直得到了學員們的滿意肯定。學員從零起點學習,學完后都能用流利的韓語表達出想要表達的韓國語。趣味的韓國語,會給您帶來時尚的感受,同時也會帶給您體驗韓國的風情、風俗及韓國人的生活習慣。

            培訓對象:韓語零基礎學員 、韓語愛好者、留學、移民、自考者、韓國旅游、韓國商貿需求者、公司企業內部培訓等等。
            培訓內容:從發音教起,循序漸進,涵蓋元、輔音和音變,語法及慣用型等等,簡單易學,思路清晰。
            培訓方式:韓語外教小班授課,純正發音,手把手、互動式教學,以發音及口語為基礎,強化學員的口語能力。
            核心老師簡介:
            外教:高老師(周末班、晚班全部外教授課)
            白天脫產班(周一到周五), 任教老師全部由首爾大學派遣的專職外教老師授課
            高老師:韓國首爾人,韓國語專業老師。他不僅講課經驗豐富、韓語發音純正,而且能講流利的普通話。由韓國外教主講,形成全面準確的教學體系。重視學習知識的運用,給學生充分的想象空間來進行生活場景的模擬以增進學生口語的鍛煉和聽力的提高。授課方式靈活,語言生動幽默,課堂互動性強。博得學生的廣泛肯定。
            使用教材:《標準韓國語》、《韓國語入門》、《韓國語》、韓國首爾大學教材
            課程介紹:常年開設韓語培訓班,可教授各種層次的學生,分段教學,有初級、中級、中級提高、高級班,出國留學培訓班。并設有晚班,周末班、韓語白 天班,全國招生。
            班級規模:精品10人左右小班授課,包教包會,使你在短期內快速達到聽、說、讀、寫能力。
            備注:
            1、每月循環開班。
            2、可為外地學員提供住宿。
            3、全外教授課,精品10人左右小班報滿截止。
            4、學生憑證優惠50元。
            5、協助學員辦理出國手續.
            6、學習期滿成績合格者可取得本中心頒發的留學審核部認可的有效學時證明書。
            7、第一節課為試聽課,不滿意者可退費或轉入其它班學習。
            8、學習優秀的學員將有機會被推薦到北京大型韓國公司就業,并有機會派遣到韓國研修一年。
            9、免費娛樂活動:除常規課程外,利用課余時間,我們還將為韓語班的學員定期舉辦韓國文化風俗介紹、韓國影視劇欣賞、學習韓國料理、韓國留學介紹、與韓國朋友交流等一系列豐富有趣的課外活動,以提高學生的學習興趣與豐富課外知識。在活動期間我門還將提供免費的咖啡和紅茶等等。
            特惠:隨到隨學,滾動開班,循環學習,免費重讀。
            附錄:北大燕園智峰教育培訓機構今年榮幸被教育部授予“全國
            百佳教育培訓機構”。本培訓中心特點:
            1,首爾名牌大學----延世大學的講師高老師親自授課;
            2,包教包會,學不會免費重讀;
            3,報白天脫產班2個月或以上的學員,學業完成后特派韓國名牌大學--首爾大學續讀語言專業。
            4,報白天脫產班3個月或以上的學員,學業完成后成績優異者推薦北京韓國公司工作。
            5.提供韓語培訓,韓國留學一條龍服務。(學員可自選韓國學校)

            3-4月份班
            語種 教師 學時 次數 上課地點 學費 開課日期 上課時間 常年開課
            ?韓語零起點初級班
            (晚班) 首爾大學(外教) 42 11次 北大 600元 周一、三、五晚班
            3月24日-4月16日 周一、三、五晚班
            晚6:30-9:00 滾動開班
            隨到隨學
            ?韓語零起點初級班
            (晚班) 首爾大學(外教) 42 11次 北大 600元 周二、四晚班
            3月25日-4月29日 周二、四晚班
            晚6:30-9:00 滾動開班
            隨到隨學
            韓語零起點初級班(周六班) 首爾大學(外教) 42 8周 北大 600元 周六上午班3月22日-5月10日 周六上午班8:30-12:00 滾動開班
            隨到隨學
            韓語零起點初級班(周日班) 首爾大學(外教) 42 8周 北大 600元 周日下午班3月23日-5月11日 周日下午班12:00-3:30 滾動開班
            隨到隨學
            韓語初級提高班
            (周日班) 首爾大學(外教) 48 8周 北大 700元 周日下午班3月23日-5月11日 周日下午班3:30-7:30 滾動開班
            隨到隨學
            韓語初級提高班(晚班) 首爾大學(外教) 176 39次 北大 2600元 周二、周四周六晚班4月1日-6月28日 周2、4、6晚6:30-9:30 滾動開班
            隨到隨學
            韓語外教口語班(初級) 首爾大學(外教) 33 11次 北大 1000元 周日下午3月30日-6月8日 周日下午3:40-5:40 滾動開班
            隨到隨學
            韓語外教口語班(中級) 首爾大學(外教) 33 11次 北大 1200元 周日下午4月6日-6月15日 周日下午6:00-8:00 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1級 首爾大學(外教) 108 24次 北大 1600元 周1-周5白天班
            3月17日-4月17日 周1-周5上午8:30-11:30 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1-2級 首爾大學(外教) 216 48次 北大 3100元 周1-周5白天班
            3月17日-5月23日(5.1-5.2休息) 周1-周5上午8:30-11:30 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1-3中級 首爾大學(外教) 324 72次 北大 4600元 周1-周5白天班
            3月17日-6月26日(5.1-5.2休息) 周1-周5上午8:30-11:30 滾動開班
            隨到隨學
            韓語中級-高級班(白天班) 首爾大學(外教) 200 44次 北大 3200元(含教材) 周1-周5白天班
            3月25日-5月26日(5.1-5.2休息) 周1-周5下午
            12:00-3:00 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1級 首爾大學(外教) 108 24次 北大 1600元 周1-周5白天班
            4月21日-5月26日(5.1-5.2休息) 周1-周5下午12:00-3:00 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1-2級 首爾大學(外教) 216 48次 北大 3100元 周1-周5白天班
            4月21日-6月27日(5.1-5.2休息) 周1-周5下午12:00-3:00 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1-3中級 首爾大學(外教) 324 72次 北大 4600元 周1-周5白天班
            4月21日-7月31日(5.1-5.2休息) 周1-周5下午12:00-3:00 滾動開班
            隨到隨學
            韓語零起點初級(白天班)1-3中級 首爾大學(外教) 324 72次 北大 4600元 周1-周5白天班
            4月21日-7月31日(5.1-5.2休息) 周1-周5
            下午12:00-3:00 滾動開班
            隨到隨學

            韓語考級沖刺班
            語種 教師 學時 次數 上課地點 學費 開課日期 上課時間 常年開課
            韓語能力等級考試
            初級沖刺班(白天班) 首爾大學(外教) 60 20次 北大 1500元 (不含教材) 周一至周五3月3日-3月28日 周一至周五下午1:00-3:00 滾動開班
            隨到隨學
            韓語能力等級考試
            中級沖刺班(白天班) 首爾大學(外教) 60 20次 北大 1800元(不含教材) 周一至周五3月3日-3月28日 周一至周五下午3:00-5:00 滾動開班
            隨到隨學
            韓語能力等級考試
            初級沖刺班(白天班) 首爾大學(外教) 60 20次 北大 1500元 (不含教材) 周一至周五3月24日-4月18日 周一至周五下午1:00-3:00 滾動開班
            隨到隨學
            韓語能力等級考試
            中級沖刺班(白天班) 首爾大學(外教) 60 20次 北大 1800元(不含教材) 周一至周五3月24日-4月18日 周一至周五下午3:00-5:00 滾動開班
            隨到隨學
            韓語能力等級考試
            初級沖刺班(周六班) 首爾大學(外教) 26 7周 北大 650元(不含教材) 周六下午3月8日-4月19日 周六下午12:30-3:00 滾動開班
            隨到隨學
            韓語能力等級考試
            中級沖刺班(周六班) 首爾大學(外教) 26 7周 北大 780元(不含教材) 周六下午3月8日-4月19日 周六下午12:30-3:00 滾動開班
            隨到隨學
            韓語能力等級考試
            初級沖刺班(周日班) 首爾大學(外教) 27 6周 北大 675元(不含教材) 周日下午3月9日-4月13日 周日下午12:30-3:30 滾動開班
            隨到隨學
            韓語能力等級考試
            中級沖刺班(周日班) 首爾大學(外教) 27 6周 北大 810元(不含教材) 周日下午3月9日-4月13日 周日下午12:30-3:30 滾動開班
            隨到隨學

            凡一次性報滿學費1500元的學員,贈送全天課程及周六口語班

            # 輕松學院  回復  更多評論   

            2008-04-06 00:05 by 語言教學
            北京燕園智峰德語培訓

            北大燕園智峰教育培訓中心,依托北京大學。以精品10人小班為特色,教師均來自于北大、北外知名院校。本中心開辦以來成功的培養了無數的留學人員。
            德語班是滿足中國學員迫切需要掌握德語語法的需要,又同時加強聽說能力的培養,由經驗豐富的專職德語語言專家執教授課。學員通過由淺入深、科學系統的課程設置,使學員掌握正確的德語發音和牢固的發音規則,為學員聽說能力的提高打下堅實基礎;幫助學員建立完善的德語語法、詞匯基礎,將有效提高學員的閱讀和寫作能力;該課程為學員出國或繼續深造前打下良好的德語聽、說、讀......

            校教學特點:
            課程設置有半天班、全天班、周末班、晚班,學員可靈活選擇。

            為保證教學質量,全部采用小班授課的形式。
            <<師資介紹>>教師全部是多年講課經驗的專業教師組成,由北大,北外及德國研究生畢業歸來,任教德語脫產班由5年以上的中年老師們擔任.講課風格各有特色,幽默,風趣中,把學員帶進了輕松過聽,說,讀,寫的語言關.學員在手把手的學習中,不斷感受到特殊的學習方法及技巧,而且感受到接觸外教對話的訓練課程并接受專業的面試鑒證關訓練.在本校中學過的無數學員6年來面試水平全部過關,百分百順利拿到資格證出國深造.
            難怪新老學員一致肯定:在此培訓中心學習德語是走向成功的首選前提!
            <<培訓對象>>德語零基礎學員,德語愛好者,留學,貿易需求,出差,探親,移民,工作等人員!
            <<班級規模>>精品10人小班授課,為每一位學習者打造包教包會的程度.
            <<德語教程>>新求精德語教程,口語教程等.
            <<課程介紹>>零起點起步,初級,中級,高級班.脫產500學時班.滾動式教學.可插班.


            課 程 安 排
            3月班
            語種 教師 學時 次數 上課地點 學費 開課日期 上課時間 常年開課
            德語零起點班(周六班) 北大、北外 60 11周 北大 700元 周六班3月22日-5月31日 周六上午
            8:30-12:00 滾動開班
            隨到隨學
            德語零起點班(周日班) 北大、北外 60 11周 北大 700元 周日班3月30日-6月8日 周日下午
            3:30-7:00 滾動開班
            隨到隨學
            德語零起點-中級班
            (白天班)上、下冊 北大、北外 500 83次 北大 6800元(含教材) 周1-周5白天班
            3月31日-7月25日 周1-周5
            1:30-5:30 滾動開班
            隨到隨學
            德語零起點-初級提高班
            (白天班)上冊 北大、北外 300 50次 北大 4500元(含教材) 周1-周5白天班
            3月31日-6月10日 周1-周5
            1:30-5:30 滾動開班
            隨到隨學

            咨詢熱線:(010)62756072 (010)62755320
            外地學員報名:開課前3天學費務必打到本培訓中心,可住宿:400-500元/月 3人-4人
            方式:銀行入款,匯款,或朋友轉交等.保存存根,作為上課憑據.
            報名地址:北大資源賓館寫字樓5層1516室
            乘車路線:人民大學往北乘車718、332、運通106 海淀硅谷下車,右側即是。
            久久久午夜精品福利内容| 国产色综合久久无码有码| 狠狠色丁香婷婷综合久久来 | 热久久视久久精品18| 一本久久a久久精品亚洲| 久久se精品一区二区| 精品伊人久久久| 国产成人精品综合久久久| 日韩人妻无码一区二区三区久久| 午夜视频久久久久一区| 亚洲一本综合久久| 狠狠色丁香婷综合久久| 久久中文精品无码中文字幕| 国产精品熟女福利久久AV| 人妻无码精品久久亚瑟影视| 91久久精品国产91性色也| 777午夜精品久久av蜜臀| 久久精品国产精品亚洲人人| 久久久久国产精品嫩草影院| 久久综合久久自在自线精品自| 国产亚州精品女人久久久久久 | 久久久91精品国产一区二区三区 | 天天爽天天爽天天片a久久网| 久久久久久国产a免费观看黄色大片 | 综合久久一区二区三区 | 欧美一区二区三区久久综合| 性做久久久久久免费观看 | av色综合久久天堂av色综合在| 精品久久久久久无码国产| 精品国产福利久久久| 丰满少妇人妻久久久久久 | 久久午夜福利电影| 久久国产视屏| 精品久久久久久无码免费| 国产精品熟女福利久久AV| 狠狠久久综合| 老司机午夜网站国内精品久久久久久久久 | 久久综合狠狠色综合伊人| 久久精品国内一区二区三区| 免费观看久久精彩视频| 久久国产精品二国产精品|