日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

COBOL報(bào)表引擎:編譯期聲明式報(bào)表生成原理與實(shí)踐

COBOL報(bào)表引擎:編譯期聲明式報(bào)表生成原理與實(shí)踐 簡介本資源是一份面向COBOL初學(xué)者與企業(yè)遺留系統(tǒng)維護(hù)人員的報(bào)表開發(fā)實(shí)踐指南聚焦COBOL環(huán)境中結(jié)構(gòu)化報(bào)表生成的核心技術(shù)實(shí)現(xiàn)。內(nèi)容以完整可運(yùn)行的rpt001程序?yàn)檩d體系統(tǒng)解析ID Division、Environment Division含文件路徑映射與I-O配置、Data Division客戶主文件custmast.dat記錄布局、銷售報(bào)表輸出格式定義及Report Section頁眉/頁腳/標(biāo)題/時(shí)間戳等報(bào)表段控制邏輯覆蓋EOF判斷、日期時(shí)間格式化、多級(jí)控制頭尾等關(guān)鍵編程要點(diǎn)。資源為1個(gè)35KB的Word文檔.doc內(nèi)含帶行號(hào)的源碼節(jié)選與逐段注釋說明便于對(duì)照學(xué)習(xí)與代碼復(fù)用。目前已有223人學(xué)習(xí)下載適合需要掌握COBOL報(bào)表編制規(guī)范、理解傳統(tǒng)金融/政務(wù)系統(tǒng)報(bào)表邏輯、或開展課程實(shí)驗(yàn)與項(xiàng)目遷移的開發(fā)者。1. COBOL報(bào)表段不是“語法糖”而是編譯器驅(qū)動(dòng)的聲明式報(bào)表引擎為什么GENERATE detail-line能自動(dòng)完成分頁、求和、行計(jì)數(shù)而手寫WRITE卻要自己維護(hù)所有狀態(tài)你寫過 COBOL 報(bào)表程序嗎大概率寫過——但很可能沒真正搞懂為什么INITIATE rep之后只調(diào)用一次GENERATE detail-line就能讓編譯器自動(dòng)在第 52 行觸發(fā)頁尾、在文件末尾插入合計(jì)行、把SUM cm-sales-this-ytd累加進(jìn)帶千位分隔符的z,zzz,zzz.99字段里還順手把page-counter加 1這不是魔法也不是運(yùn)行時(shí)解釋執(zhí)行這是 COBOL 編譯器在生成目標(biāo)代碼時(shí)就把報(bào)表邏輯硬編碼進(jìn)了執(zhí)行流。它不依賴外部庫不調(diào)用系統(tǒng) API甚至不依賴標(biāo)準(zhǔn) I/O 緩沖區(qū)——整套機(jī)制完全由REPORT SECTION的聲明結(jié)構(gòu)驅(qū)動(dòng)由編譯器靜態(tài)分析CONTROLS ARE FINAL、PAGE LIMITS IS 66、SUM子句和TYPE IS CONTROL FOOTING FINAL這些語句生成一套專用的狀態(tài)機(jī)。這意味著你改一行LINE PLUS 2編譯器就重算整個(gè)頁布局你刪掉SUM它就徹底移除求和寄存器初始化代碼你把CONTROLS ARE FINAL換成CONTROLS ARE cm-salesrep-number它立刻生成按銷售員分組的嵌套控制邏輯。這種深度耦合正是 COBOL 在 1960 年代就能支撐銀行日終報(bào)表批量處理的根本原因——它把“報(bào)表”從應(yīng)用層邏輯中剝離升格為語言級(jí)原語。今天你用 Python pandas 寫df.groupby().sum()本質(zhì)仍是數(shù)據(jù)操作而 COBOL 的SUM是編譯期綁定的報(bào)表生命周期事件。不理解這點(diǎn)你就永遠(yuǎn)在用WRITE手動(dòng)拼接空格、計(jì)算行號(hào)、自己寫IF line-count 66 THEN ...——那不是在用 COBOL是在用 COBOL 語法寫 C。2. REPORT SECTION 不是配置文件而是編譯器可解析的報(bào)表元模型從RD rep到01 detail-foot type is control footing final的逐層語義解析COBOL 的REPORT SECTION看似只是聲明一堆01級(jí)項(xiàng)實(shí)則構(gòu)成了一套完整的、有向的、帶約束的報(bào)表元模型。它不是自由格式文本而是被編譯器嚴(yán)格解析的 AST抽象語法樹輸入。我們拆解rpt0001中的關(guān)鍵節(jié)點(diǎn)看編譯器如何將這些聲明翻譯成可執(zhí)行的報(bào)表狀態(tài)機(jī)。2.1RD rep報(bào)表描述符Report Descriptor是整個(gè)報(bào)表的根節(jié)點(diǎn)與上下文容器rd rep controls are final page limits are 66 lines heading 30 first detail 9 last detail 52 footing 61.這六行不是注釋而是編譯器構(gòu)建報(bào)表調(diào)度器的核心參數(shù)controls are final聲明該報(bào)表無分組控制字段即不分頁/不分組匯總所有CONTROL HEADING/FOOTING將作為全局報(bào)表頭尾處理。若改為controls are cm-salesrep-number編譯器會(huì)插入一個(gè)隱式PERFORM UNTIL cm-salesrep-number CHANGES循環(huán)并為每個(gè)銷售員生成獨(dú)立的CONTROL FOOTING。page limits are 66 lines這不是建議值而是硬性約束。編譯器據(jù)此生成頁計(jì)數(shù)器page-counter、當(dāng)前行號(hào)line-counter兩個(gè)隱式工作存儲(chǔ)變量并在每次GENERATE前插入IF line-counter 66 THEN PERFORM page-break-logic檢查。注意line-counter初始值為 0heading 30表示報(bào)表頭占 30 行所以實(shí)際可用明細(xì)行是66 - 30 - 61 -25錯(cuò)——footing 61是頁腳起始行號(hào)從 1 開始計(jì)意味著頁腳必須從第 61 行開始輸出因此明細(xì)區(qū)最大行數(shù)是61 - 9 52行first detail 9定義明細(xì)首行。編譯器靜態(tài)驗(yàn)證9 52 61否則報(bào)錯(cuò)PAGE LIMITS VIOLATED。heading 30/footing 61定義物理頁內(nèi)絕對(duì)坐標(biāo)。編譯器據(jù)此生成MOVE The Report of Customer TO rep-head-line-15-col-40類指令并確保rep-head在每頁第 30 行輸出無論前面是否發(fā)生NEXT PAGE。提示PAGE LIMITS的校驗(yàn)發(fā)生在編譯期而非運(yùn)行時(shí)。你無法在PROCEDURE DIVISION中動(dòng)態(tài)修改它——因?yàn)轫摬季忠言谀繕?biāo)代碼中固化。2.201 rep-head type is report heading報(bào)表頭是“一次性觸發(fā)”的頂層節(jié)點(diǎn)01 rep-head type is report heading next group is next page. 02 line 15 column 40 pic x(50) value is The Report of Customer. 02 line 50 column 45 pic x(40) value is Neusoft 2007.1.18.type is report heading告訴編譯器此01項(xiàng)屬于REPORT HEADING類型其輸出時(shí)機(jī)由RD rep的HEADING子句控制此處為第 30 行且僅在報(bào)表首頁輸出。next group is next page是關(guān)鍵——它不是跳頁指令而是聲明當(dāng)此組輸出完畢后后續(xù)所有GENERATE必須在新頁開始。編譯器據(jù)此在生成rep-head輸出代碼后插入ADD 1 TO page-counter和MOVE 0 TO line-counter。注意line 15和line 50是相對(duì)于頁首的偏移而非絕對(duì)行號(hào)編譯器會(huì)將其轉(zhuǎn)換為WRITE ... AT LINE 3015即第 45 行和WRITE ... AT LINE 3050即第 80 行——但第 80 行已超PAGE LIMITS 66所以實(shí)際執(zhí)行時(shí)line 50觸發(fā)隱式NEXT PAGErep-head被拆到兩頁第 30 行輸出The Report...第 61 行footing起始前無法容納第二行于是強(qiáng)制翻頁Neusoft...輸出在第二頁第 30 行。這就是為什么REPORT HEADING必須整體適配HEADING行數(shù)范圍——編譯器不會(huì)幫你換行或截?cái)唷?.301 detail-line type is detail明細(xì)行是“循環(huán)體”其SOURCE字段綁定數(shù)據(jù)流管道01 detail-line type is detail. 02 line plus 1. 03 column 10 pic 9(5) source cm-customer-number. 03 column 20 pic x(20) source cm-customer-name. 03 column 50 pic s9(5)v9(2) source cm-sales-this-ytd. 03 column 70 pic s9(5)v9(2) source cm-sales-last-ytd.type is detail標(biāo)識(shí)此組為明細(xì)數(shù)據(jù)行模板。line plus 1意味著每次GENERATE detail-line編譯器自動(dòng)執(zhí)行ADD 1 TO line-counter然后將cm-customer-number等字段值按PIC描述的格式如9(5)表示右對(duì)齊 5 位數(shù)字s9(5)v9(2)表示帶符號(hào)小數(shù)轉(zhuǎn)換后寫入line-counter指向的當(dāng)前行。這里沒有MOVE或STRING指令——SOURCE是編譯器注入的數(shù)據(jù)綁定指令。更關(guān)鍵的是cm-customer-number必須來自FILE SECTION中FD定義的記錄此處是custmast文件的customer-master-record且其PIC必須與detail-line中的PIC兼容如9(5)可接收9(5)但不能接收x(5)。若類型不匹配編譯器報(bào)錯(cuò)INCOMPATIBLE SOURCE USAGE而非運(yùn)行時(shí)異常。2.401 detail-foot type is control footing final控制尾是“終結(jié)事件”SUM觸發(fā)編譯器注入累加器01 detail-foot type is control footing final next group is next page. 02 line plus 2. 03 column 20 pic x(5) value is SUM:. 03 column 50 pic z,zzz,zzz.99 sum cm-sales-this-ytd. 03 column 70 pic z,zzz,zzz.99 sum cm-sales-last-ytd.type is control footing final表明這是報(bào)表結(jié)束時(shí)觸發(fā)的全局合計(jì)行。final關(guān)鍵字讓編譯器知道此組僅在TERMINATE rep前執(zhí)行一次。sum cm-sales-this-ytd是核心——它不是函數(shù)調(diào)用而是告訴編譯器為cm-sales-this-ytd字段創(chuàng)建一個(gè)隱式累加器通常命名為sum-cm-sales-this-ytd并在每次GENERATE detail-line時(shí)自動(dòng)生成ADD cm-sales-this-ytd TO sum-cm-sales-this-ytd指令。pic z,zzz,zzz.99則指定輸出格式z表示前導(dǎo)零抑制,是千位分隔符.99是小數(shù)點(diǎn)后兩位。編譯器據(jù)此生成MOVE sum-cm-sales-this-ytd TO detail-foot-col50并調(diào)用內(nèi)置格式化例程如CBL_FORMAT_NUMBER轉(zhuǎn)換為字符串。注意SUM字段必須是PIC中含9或S9的數(shù)值型且SUM子句只能出現(xiàn)在CONTROL FOOTING或REPORT FOOTING中——若誤寫在DETAIL行編譯器直接拒絕。3.INITIATE/GENERATE/TERMINATE不是過程調(diào)用而是報(bào)表狀態(tài)機(jī)的三態(tài)躍遷從初始化到銷毀的全生命周期控制COBOL 報(bào)表的執(zhí)行模型本質(zhì)上是一個(gè)三態(tài)有限狀態(tài)機(jī)FSM由INITIATE、GENERATE、TERMINATE三條語句驅(qū)動(dòng)狀態(tài)轉(zhuǎn)換。它們不是普通的過程調(diào)用而是編譯器生成的、針對(duì)特定RD的專用狀態(tài)切換指令。理解這三者的精確語義是避免報(bào)表錯(cuò)位、漏行、重復(fù)輸出的關(guān)鍵。3.1INITIATE rep進(jìn)入INITIALIZED狀態(tài)重置所有隱式計(jì)數(shù)器與累加器initiate rep.執(zhí)行此語句時(shí)編譯器生成的代碼會(huì)做以下原子操作將page-counter置為 1首頁將line-counter置為 0頁內(nèi)行號(hào)歸零將所有SUM字段對(duì)應(yīng)的隱式累加器如sum-cm-sales-this-ytd清零將report-status隱式變量設(shè)為INITIALIZED不輸出任何內(nèi)容——INITIATE僅重置狀態(tài)不觸發(fā)REPORT HEADING注意INITIATE必須在OPEN OUTPUT salesrpt之后、首次GENERATE之前執(zhí)行。若在OPEN前調(diào)用編譯器可能報(bào)錯(cuò)REPORT FILE NOT OPEN若在GENERATE后調(diào)用則因狀態(tài)機(jī)已進(jìn)入ACTIVE態(tài)導(dǎo)致未定義行為常見表現(xiàn)為頁頭重復(fù)輸出。3.2GENERATE detail-line從INITIALIZED或ACTIVE態(tài)躍遷至ACTIVE態(tài)驅(qū)動(dòng)行輸出與狀態(tài)更新generate detail-line.這是狀態(tài)機(jī)最核心的躍遷。執(zhí)行時(shí)編譯器代碼執(zhí)行以下序列檢查頁邊界IF line-counter 66 THEN PERFORM page-break-logicpage-break-logic包含輸出PAGE HEADING若定義、ADD 1 TO page-counter、MOVE 0 TO line-counter更新行號(hào)ADD 1 TO line-counter因detail-line定義為line plus 1數(shù)據(jù)綁定與格式化將cm-customer-number等SOURCE字段按PIC描述轉(zhuǎn)換為字符填充到line-counter對(duì)應(yīng)的緩沖區(qū)位置累加器更新對(duì)每個(gè)SUM字段如cm-sales-this-ytd執(zhí)行ADD cm-sales-this-ytd TO sum-cm-sales-this-ytd物理輸出調(diào)用底層WRITE系統(tǒng)調(diào)用將整行緩沖區(qū)寫入salesrpt文件關(guān)鍵點(diǎn)在于GENERATE的執(zhí)行結(jié)果嚴(yán)格依賴當(dāng)前l(fā)ine-counter值。若你在GENERATE前手動(dòng)ADD 10 TO line-counter下一行將從第 11 行開始輸出破壞頁布局。GENERATE是唯一被允許修改line-counter的語句——其他任何ADD/SUBTRACT都是危險(xiǎn)操作。3.3TERMINATE rep從ACTIVE態(tài)躍遷至TERMINATED態(tài)輸出尾部并封存狀態(tài)terminate rep.執(zhí)行此語句編譯器生成代碼輸出REPORT FOOTING如report-end組輸出CONTROL FOOTING FINAL如detail-foot組將report-status設(shè)為TERMINATED禁止后續(xù)任何GENERATE若在TERMINATE后再調(diào)用GENERATE運(yùn)行時(shí)庫會(huì)檢測到report-status TERMINATED拋出INVALID REPORT OPERATION異常具體錯(cuò)誤碼取決于 COBOL 實(shí)現(xiàn)如 Micro Focus 為RT012提示TERMINATE不關(guān)閉文件。CLOSE salesrpt必須顯式調(diào)用且應(yīng)在TERMINATE之后。若先CLOSE后TERMINATETERMINATE將因文件不可寫而失敗。3.4 狀態(tài)機(jī)圖譜三態(tài)躍遷與非法路徑當(dāng)前狀態(tài)允許操作目標(biāo)狀態(tài)合法性說明UNINITIALIZEDINITIATE repINITIALIZED?初始狀態(tài)INITIATE是唯一入口INITIALIZEDGENERATE xxxACTIVE?首次生成明細(xì)行ACTIVEGENERATE xxxACTIVE?持續(xù)生成明細(xì)行ACTIVETERMINATE repTERMINATED?正常結(jié)束INITIALIZEDTERMINATE repTERMINATED??允許但不輸出CONTROL FOOTING因無明細(xì)行TERMINATEDGENERATE xxx/INITIATE—?運(yùn)行時(shí)錯(cuò)誤狀態(tài)機(jī)已鎖死這個(gè)狀態(tài)機(jī)設(shè)計(jì)使得 COBOL 報(bào)表天然具備“事務(wù)性”INITIATE是 beginTERMINATE是 commit中間所有GENERATE是原子操作。你無法部分回滾——要么全成功要么在非法操作時(shí)立即崩潰。4. 避坑COBOL 報(bào)表編制中 5 個(gè)血淚經(jīng)驗(yàn)總結(jié)——從頁頭錯(cuò)位到 SUM 值為零的底層原因COBOL 報(bào)表看似簡單但一旦出錯(cuò)調(diào)試難度極高沒有堆棧跟蹤沒有實(shí)時(shí)日志只有最終輸出文件的錯(cuò)亂行。以下是某開發(fā)者在維護(hù)某銀行核心賬務(wù)報(bào)表時(shí)踩過的 5 個(gè)典型坑每個(gè)都附帶現(xiàn)象、根本原因與可復(fù)現(xiàn)的修復(fù)方案。4.1 現(xiàn)象頁頭PAGE HEADING在第二頁才出現(xiàn)首頁只有空白或明細(xì)行原因PAGE HEADING的LINE值設(shè)置不當(dāng)導(dǎo)致編譯器判定首頁無需輸出。rpt0001中page-head定義為line 4而RD rep的HEADING是30PAGE LIMITS是66。編譯器認(rèn)為PAGE HEADING屬于頁內(nèi)布局但line 4小于HEADING 30故將其視為報(bào)表頭的一部分而報(bào)表頭rep-head已占滿前 30 行page-head被擠出首頁。解決將page-head的line改為line 1頁首第一行或確保其line值在HEADING范圍內(nèi)如line 30。更佳實(shí)踐PAGE HEADING應(yīng)始終從line 1開始由HEADING控制其顯示時(shí)機(jī)。4.2 現(xiàn)象SUM字段輸出全為0.00但源數(shù)據(jù)cm-sales-this-ytd明確有值原因SUM子句綁定的字段cm-sales-this-ytd與detail-line中SOURCE字段的PIC描述不一致。cm-sales-this-ytd定義為s9(5)v9(2)帶符號(hào)而detail-line中對(duì)應(yīng)SOURCE的PIC寫成了9(5)v9(2)無符號(hào)。COBOL 編譯器在生成累加代碼時(shí)因符號(hào)位不匹配將負(fù)數(shù)高位截?cái)鄬?dǎo)致累加器始終為 0。解決統(tǒng)一FILE SECTION和REPORT SECTION中的PIC描述。cm-sales-this-ytd為s9(5)v9(2)則detail-line中必須為pic s9(5)v9(2) source cm-sales-this-ytd。使用COMP-3等內(nèi)部格式時(shí)更要嚴(yán)格匹配。4.3 現(xiàn)象CONTROL FOOTING FINAL的合計(jì)行未輸出報(bào)表以明細(xì)行結(jié)尾原因TERMINATE rep被放置在PERFORM循環(huán)內(nèi)部且循環(huán)條件未覆蓋 EOF。rpt0001中PERFORM 200-prepare-sales-lines UNTIL custmast-eof-switch Y但200-prepare-sales-lines內(nèi)部PERFORM 210-read-customer-record在AT END時(shí)只置custmast-eof-switch Y未執(zhí)行220-print-customer-line。結(jié)果GENERATE detail-line在 EOF 前最后一次執(zhí)行后custmast-eof-switch仍為N循環(huán)繼續(xù)READ觸發(fā)AT ENDcustmast-eof-switch置Y但220-print-customer-line已跳過GENERATE未被執(zhí)行TERMINATE在無明細(xì)行狀態(tài)下執(zhí)行CONTROL FOOTING FINAL因無明細(xì)數(shù)據(jù)而不觸發(fā)。解決將TERMINATE移至循環(huán)外并確保GENERATE在 EOF 前至少執(zhí)行一次。標(biāo)準(zhǔn)模式perform 200-prepare-sales-lines until custmast-eof-switch Y terminate rep.且200-prepare-sales-lines必須保證即使READ失敗也要嘗試GENERATE但需加IF NOT custmast-eof-switch判斷。4.4 現(xiàn)象page-counter輸出為001而非1千位分隔符z,zzz,zzz.99顯示為000,001.00原因page-counter是編譯器隱式聲明的PIC 9(4)變量但PAGE HEADING中引用它時(shí)pic ZZ9的Z表示“零抑制”而page-counter初始值為0001ZZ9只抑制前導(dǎo)零保留001。Z不處理中間零0001格式化后仍是001。解決在PAGE HEADING中將pic ZZ9改為pic Z,ZZ9添加千位分隔符或使用FUNCTION NUMVAL轉(zhuǎn)換為數(shù)值再格式化。更直接page-counter本身是PIC 9(4)輸出時(shí)用pic ZZZ9三個(gè)Z抑制前導(dǎo)零9保證最后一位必顯則0001→1。4.5 現(xiàn)象REPORT FOOTINGreport-end輸出在頁中而非頁尾且覆蓋了明細(xì)行原因report-end定義為line 25 next page但next page是01級(jí)項(xiàng)的屬性表示“此組輸出后翻頁”。line 25是絕對(duì)行號(hào)而PAGE LIMITS 66下line 25在頁內(nèi)next page僅影響后續(xù)組不移動(dòng)本組位置。report-end被強(qiáng)制輸出在第 25 行覆蓋了本該在那里的明細(xì)行。解決REPORT FOOTING應(yīng)使用line plus n或line 66頁尾行等相對(duì)/絕對(duì)定位避免line n next page混用。正確寫法line 66頁最后一行或line 61footing 61指定的頁腳起始行并刪除next page。5. 為什么現(xiàn)代語言難以復(fù)刻 COBOL 報(bào)表引擎從編譯期綁定、隱式狀態(tài)到硬件親和性的設(shè)計(jì)取舍當(dāng)你用 Python pandas 寫df.to_excel(report.xlsx, indexFalse)或用 Java JasperReports 定義.jrxml模板時(shí)你其實(shí)在用運(yùn)行時(shí)解釋器或外部引擎模擬 COBOL 的報(bào)表能力。但二者有本質(zhì)鴻溝COBOL 報(bào)表是編譯期靜態(tài)綁定的硬件親和型子系統(tǒng)而現(xiàn)代方案是運(yùn)行時(shí)動(dòng)態(tài)綁定的通用計(jì)算框架。這個(gè)差異源于 1960 年代的設(shè)計(jì)哲學(xué)與今日的工程權(quán)衡。5.1 編譯期 vs 運(yùn)行時(shí)報(bào)表邏輯的固化程度決定性能與可靠性COBOL 編譯器在生成目標(biāo)代碼時(shí)已將PAGE LIMITS 66、SUM字段、LINE PLUS 1全部翻譯為機(jī)器指令中的立即數(shù)immediate values和跳轉(zhuǎn)地址。例如line-counter的遞增不是調(diào)用一個(gè)increment_line_counter()函數(shù)而是ADDL R1,1,R1假設(shè) R1 存line-counterIF line-counter 66是CMPL R1,66; BGE page_break_label。這意味著零運(yùn)行時(shí)開銷無函數(shù)調(diào)用棧、無反射、無模板解析。GENERATE的執(zhí)行速度接近裸WRITE。強(qiáng)一致性頁布局、求和邏輯、行號(hào)計(jì)數(shù)全部由同一份編譯產(chǎn)物保證不存在“模板版本與引擎版本不兼容”的問題??深A(yù)測性內(nèi)存占用、CPU 周期、I/O 次數(shù)均可在編譯時(shí)估算。這對(duì)銀行日終批處理至關(guān)重要——他們需要精確知道 100 萬條記錄的報(bào)表耗時(shí)是否在 5 分鐘 SLA 內(nèi)。反觀現(xiàn)代方案pandas 的to_excel需動(dòng)態(tài)構(gòu)建 Excel 結(jié)構(gòu)JasperReports 需加載.jrxml解析為 DOM 樹再遍歷渲染。每一次generate都涉及對(duì)象創(chuàng)建、哈希查找、字符串拼接。性能差距可達(dá) 100 倍且內(nèi)存占用隨數(shù)據(jù)量非線性增長。5.2 隱式狀態(tài) vs 顯式狀態(tài)COBOL 把“報(bào)表上下文”變成寄存器page-counter、line-counter、sum-cm-sales-this-ytd這些變量在 COBOL 程序員眼中是“隱式”的但對(duì)編譯器而言它們是硬編碼進(jìn)數(shù)據(jù)段的固定偏移量。INITIATE就是MOVE 1 TO 0x1234GENERATE就是ADD 1 TO 0x1234; ADD cm-sales-this-ytd TO 0x1238。這種設(shè)計(jì)犧牲了靈活性你無法在運(yùn)行時(shí)創(chuàng)建新SUM字段但贏得了確定性——沒有競態(tài)條件沒有 GC 停頓沒有指針失效。而在 Java 中JasperPrint對(duì)象持有所有狀態(tài)若多線程并發(fā)生成報(bào)表必須手動(dòng)同步Python 中DataFrame是引用對(duì)象copy()開銷巨大。5.3 硬件親和性為什么 COBOL 報(bào)表天生適合大型機(jī)與磁帶COBOL 誕生于 IBM System/360 時(shí)代其報(bào)表引擎深度適配硬件特性塊 I/O 優(yōu)化PAGE LIMITS 66直接對(duì)應(yīng) IBM 1403 打印機(jī)的 132 列 × 66 行物理頁。編譯器生成的代碼會(huì)將整頁緩沖區(qū)對(duì)齊到 4KB 邊界以匹配磁盤塊大小減少WRITE系統(tǒng)調(diào)用次數(shù)。字符集原生支持EBCDIC 編碼下PIC X(20)直接映射到 20 字節(jié)內(nèi)存無 UTF-8 轉(zhuǎn)碼開銷。z,zzz,zzz.99的格式化調(diào)用的是硬件固件中的PACKED DECIMAL轉(zhuǎn)換指令。無內(nèi)存管理所有報(bào)表緩沖區(qū)在WORKING-STORAGE中靜態(tài)分配無堆分配無碎片。REPORT SECTION的01項(xiàng)大小在編譯時(shí)確定rd rep的總尺寸可精確計(jì)算?,F(xiàn)代語言運(yùn)行在虛擬機(jī)或解釋器上必須抽象掉硬件細(xì)節(jié)。Java 的ByteBuffer、Python 的bytearray都是通用容器無法像 COBOL 那樣讓PIC s9(5)v9(2)直接對(duì)應(yīng)硬件的 packed decimal 寄存器。5.4 設(shè)計(jì)取舍的現(xiàn)實(shí)啟示何時(shí)該用“聲明式報(bào)表”何時(shí)該用“命令式拼接”我曾參與一個(gè)金融風(fēng)控報(bào)表項(xiàng)目初期用 Python Jinja2 模板生成 HTML 報(bào)表上線后發(fā)現(xiàn)當(dāng)數(shù)據(jù)量超 10 萬行生成時(shí)間從 2 秒飆升至 47 秒GC 占用 70% CPU。團(tuán)隊(duì)爭論是優(yōu)化模板還是換引擎。最終我們回歸本質(zhì)——畫出報(bào)表的物理布局66 行/頁固定列寬需跨頁合計(jì)。這不就是 COBOL 的PAGE LIMITS和SUM嗎我們用 Rust 重寫了核心引擎struct ReportConfig { page_lines: u16, sum_fields: VecFieldRef }編譯期生成專用代碼generate_row()變成無分支的memcpyadd循環(huán)。性能回到 1.8 秒內(nèi)存占用降為 1/5。這個(gè)教訓(xùn)讓我養(yǎng)成一個(gè)習(xí)慣每當(dāng)設(shè)計(jì)報(bào)表功能先問自己三個(gè)問題這份報(bào)表的物理頁尺寸是否固定是 → 考慮聲明式合計(jì)、分組邏輯是否在編譯時(shí)可知是 → 考慮編譯期綁定是否運(yùn)行在資源受限環(huán)境嵌入式、批處理集群是 → 優(yōu)先硬件親和設(shè)計(jì)如果三個(gè)答案都是“是”那么別猶豫——你的問題COBOL 在 1962 年就給出了最優(yōu)解。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99久久精品国产高潮| www网站黄| 97亚洲精品超碰| 免费看污网址| 91精品少妇搡搡搡| 欧美图片色五月天| 高精欧美色| 久久黄黄黄| 欧美第一页| 男人的天堂va| 探花在线免费观看视频国产一区| 探花激情视频| 午夜福利久久久噜久噜久久综合| 日本欧美色| 中文字幕88av在线| 国产妇女精品视频青青草| 欧美日韩性爱无码| 泰国AV在线观看| 高潮嗯啊性感美女久久久| 区一二区日韩亚洲乱码av电影| 又黄又粗又硬又长又大| 久久有碼| 久久老熟女| 超碰99在线| 日本熟女中文字幕一区| 中文字幕乱碼在线| 天天躁日日躁狠狠狠躁| 人人干黄色| 亚洲中文字幕精品久久久久久直播| 色婷婷亚洲婷婷| 亚洲黑丝在线| 一二三四区电影| 午夜福利一区二区影院| 1024亚洲中文字幕久在线看片你懂的 | 天天日天天射天天干| 亚洲色图8| 亚洲**2021在线观看| 欧美1727免费观看视频| 四虎精品永久在线观看| 久久久网站| 后入式视频国产自| 久久激情视频| 久久精品一区二区一8| 超碰在线1234区| 色噜噜狠狠色综无码久久合欧美| 99这里有精品视频| 欧美色999| 婷婷三区| 精品无码人妻一区二区免费蜜桃| 色久桃花影院在线观看| 久热99999| 日日操丁香五月天| 久射吧| 首页中文字幕中文字幕免费| 欧美综合 站| 大香蕉黄色一级片免费看| 日本免费一区二区不卡| 久久不卡一区二区| 六月婷婷综合| 欧美 日韩 亚洲 春色| 九九九久久久久| 一级黄色牲爱A级片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 欧美偷拍| 亭亭在线资源| 欧美 熟女 日韩| 超踫中文字幕| 丁香五月电影| 久久亚洲欧美中文字幕国语| 高清国产无码av| 一区二区亚州激情久婷婷欧美| 在线观看日韩av不卡| 夫妻日逼| 亚州综合色| 日韩欧美中文日韩欧美色| 99999这里都精品| 激情AV| 顶级丝袜熟女一区二区三区| 日本1区2区不卡视频| 夜夜久久久| 中文字幕熟女人妻丝袜丝| 欧美丝袜激情| 熟妇精品juliaannAV| 婷婷六月色| 日韩免费看黄片| 99精品视频在线观看免费| 亚洲欧美一区二区网址| 免费伦费视频在线观看| 九九亚洲视频| 久久九九热| 日本午夜精品理论片A级APP发布| 国产无马视频| 成人av免费观看| A 天堂在线观看视频| 亚洲**2021在线观看| 久久久精品电影| 新婚人妻扶着粗大强行坐下| 99成人| 亚洲人久久久网| 日本久久999| 久艹99| 久9久精品视频| 美女天天干| 亚洲中文字幕在线视频一区二区| 久久香蕉综合一本到3atv| 成全在线观看免费观看| 五月丁香色色网| 95精品在线| 97久久资源| 色婷婷综合久久中文字幕雪峰| 一区二区三区在线日韩影院观看| 国产成人午夜视频网址| 天天干少妇| 男插女青青影院| 中文字幕精品日韩中文字幕| 思思热在线| 91女在线观看| 97视频免费在线观看| 无码在线亚洲| 久草成人影片| 欧美亚洲一级在线观看| 国产a级精品| 欧美亚洲韩国视频十五区 | 国产精品久久久久久无码红治院| 男人的天堂2019AV| 欧美97在线欧| 大香蕉伊人网WWWn0n| 日韩欧美蜜桃精品久久中文字幕久久| 乱伦日本色图AⅤ| 欧美白嫩在线放| 亚洲图片欧美| 9九九九九视频在线观看| 国产吹潮女在线观看| 2018天天干在线视频| 久久草草欧美精品| 日韩视频中文字幕| 超碰97在线色男人??| 99re公开精品免费视频| 日韩精品9区| 性爱边摸边日免费AV| 欧美青青视频| 99久久久久| 热99这里有精品综合久久 | 国产传媒午夜理伦精品| 一区二区三区四区姦女| 3p国产欧美99热| 狠狠爱夜夜干| 日本一本一区二区三区四区五区欧美日韩中文字幕| 蜜乳AV免费观看| 99久在线精品99re8a| 一级黄色性爱A级片| 夜夜狠狠躁日日躁色视频| 人妻精品一区二区在线| 黄片www视频免费| 五月天加勒比啪| 99热这里只有精品地址| 人人干黄色| 国产99999久久精品| 久久人妻视频网| 一区二区三区视频国产免费| 亚欧免费| 永久免费观看的毛片的网站| 久草老司机| 日韩乱码Av| 国产精品成人蜜臀AV在线| 久艹日日日| 伊人视频| 亚洲s色图| 日本丝袜美腿人妻九九| 狠狠干婷婷| 国产精品无码av在线| 国产午夜精品一区二区三区牛牛| 久久久草草精品| 强奸熟女一区二区三区 | 蜜臀视频网站| 国产日韩美女小穴视频网站不卡| 极品色电影院| 97在线资源| 成年人免费观看网站| 日韩久久超碰色| 日韩精品区二区三区不卡| 免费A V在线| 日本一级性爱| 大香蕉操久久| 亚洲少妇色图自慰直播| 怡红院久久老司机| 亚洲第一页色网| 91国精产品| 中亚黄色三级大片| 操淫穴亚洲五月丁香| 少妇一区二区三区在线观看| 粉嫩AV输入| 日本ZZ高免费A级视频| 天天操福利视频综合网站| 欧美日韩妖精91com| 大JI巴好深好爽又大又粗视频| 大茄子熟女AV导航| 伊人久久综合精品欧美| 久久免费老司机精品| 丰满搜索结果 -第18页- 久久高清无码| 天天做天天爱天天高潮| 四季AV一区二区凹凸精品小说| 国产精品在线网站| 色色97爱| 999亚洲国产视频| 九九探花视频在线观看| 内射日韩大臀美女| 久久熟女嫩草成人片免费| 不卡日本一区二区| 无码操逼视频一下| 国产不卡精品91| 久久久久久久久女黄| 秋霞操逼片| 国产精品无码在线| 天天天天天天天天综合| 加勒比综合88| 中字乱伦AV| 中文久久一区| 亚洲色图图片| 欧美成人都市人妻| 日韩精品影视| 色哟哟511老熟女| 色色香蕉| 九九九九九九九九九九九免费国产| 91网站18+| ji熟女.com| 婷婷综合久久| 欧美精品黑人猛交高潮| 综合在线导航一区| 久九九九九九九热| 日韩性爱视频免费在线| 久久久久久久伊人精品| 最新欧洲欧美日本激情网站| 九久久九九久视频| 久久久久久AⅤ无码免费肉站 | 欧美激情总合网| 97 国产精品| 人人人人插| 亚洲污污网站| 92人人操人人| 高清视频一区| 九九久久久久久爱| 国产精品永久免费10000| 亚欧美天堂在线| 精品成人亚洲午夜电影| 狠久久| 激情AV| 97色网| 狠狠干精品一二三四五六2022| 日本综合色图| 香蕉免费一区二区三区不读| 日韩综合色网| 久久精品日韩| 久久久成人免费av电影| 久久五月份| 欧美性暴力| 蜜桃不卡一区二区| 内射卯月麻衣| 91九九九小逼| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 欧美αv.com| 91国模| 久久久久久久久国产| 久99| 日本三级韩三级99久久| 欧美日韩*字幕一区| 东京热AV男人的天堂| 色婷婷综合久久中文字幕雪峰 | 亚洲色人妻综合| 久久成年精品| 18精品一区| 久久精品国产亚洲AV片多多| 97人人操人人摸人人爱| 久久丁香久草综合网| 亚洲小说视频| 久草色在线观看| 99热精品在线观看| 亚洲色性情三级| 免费9 1久久| 亚洲熟女国产综合另类| 在线女人91| 91色综| 操一区| 大香蕉伊人网WWWn0n| 成人综合久久精品色婷婷| 伊人影院综合是一个与深夜成人在线| 乱伦3P视频| 中文字幕伊人| 嗯嗯啊啊的视频| juliaann丝袜| 日本激情免费大片| www男人天堂| 亚洲男人在线观看天堂 | 色爱综合网欧美| 91久久国产综合精品| 久草精品视频| 天天激清| 国产综合操逼高清| 久久手机视直播| 亚洲情色1区| 精品免费1| 中文熟女五十乱码在线| 91性情| 日日夜夜精品| 大香蕉久操| 久久色一区| 欧美激情一| 少妇久久久久久| www.久久制服糖| 国产精品青草综合久久| 91麻豆天美国产欧美日| 夜夜嗨TV| 欧美日韩性爱操大逼| 性爱久久| 78超碰| 中国一区二区亚洲人妻| 日夜干射色啊| 日本性爰一道本| 天天色综合图片| 中文字幕人乱码中文字的预防方法 | 狠狠久久亚洲欧美专区| 日韩欧视频| 午夜AV人气不卡| 美国久久一二三四| 久久欲| 久久人人妻| 99re28在线观看| 日本日皮视频逼| 96AV久久久| 天天上日日上日韩精品| 蜜桃成人1区2区3区| 日本 情色 1区| 久热婷婷| 日韩小电影| 97久久精品亚洲| 国产精品久久久久久久久久久久久久吹 | 亚洲性猛| AV中文在线| 亚洲色婷婷综合久久一区二区三区| 3p国产欧美99热| 超碰在线成人电影| 精品无码一区二区| 久草视频观看视频在线| 国产精品69久久久久孕妇欧美| 日本激情免费大片| 一本色道久久综合精品婷婷| 少妇免费视频| 免费A片三p视频| 麻豆性爱视频在线播放| 国模精品娜娜一二三区| 成人午夜高潮av猛片| 防屏蔽在线视频| 国产日韩精品suv| 啊啊啊好舒服视频在线观看| 性感女人网页在线观看视频| 东亚亚洲无码高清| 国产精品第一区第一页| 久男人久久| www.99热| 免費黃色視頻觀看一| 国产精品高潮久久久无码| 亚洲精品97中文字幕| www四虎| 在线岛| 乱伦熟女论坛| 欧美色图 色综合图| 99蜜月精品久久| 97色涩| 亚洲精品天天影视综合网| 97人妻碰碰中文无码久热丝袜| 成年人网站在线免费观看| 欧美激情一| 青青操在线亚洲视频观看欧美在线| 黄片在线免费在线观看| 久久一区二区三区入口| 人人操,操人人| 亞洲久久直播| 欧洲成人性爱视频| 日韩人妻一区二区精品| 久久无码电影| 久久99久久99久久99人受| 天天色播亚洲综合网站| 人人扣人人操| 五月天激情小说| 色999五月色| 国产一区二区三区影片| 色五月婷婷麻豆在| 韩国轻伦国内自拍一区| 性色高清在线| 夜夜嗨免费视频| 午夜福利 成人 91| 欧美激情综合| 欧美黑人精品在线播放| 婷婷色在线| 区一二区日韩亚洲乱码av电影| 美美91成人国产精品欧美精品久久久久久久| 白丝少妇一区二区| 欧美日韩系列| 久久免费99精品久久久久久| 日韩乱伦视频| 欧美 亚洲 大香| 久操在97| 人人人干干人人干| 国产精品成人无码av| 97久精品| 伊人宅男大香蕉| 亚洲天堂男人天堂| a久久| 国产一级久久久| 97超碰人操| 久久免费少妇| 日本三级R| 亚洲精品97中文字幕| 少妇一区二区三区| 大香蕉亚洲中文| 人乳av| 国产高清自拍| www超碰| 男人的天堂在线| 欧亚综合一卡二卡中文字幕| 亚洲精品97p| 亚欧Av| 久久綜合很很很| 亚洲色图8| 日韩人妻有码免费视频| 天天天天天天天天综合| 青青久久手机线视频| 美女的肌被草喷水视频| 日本无码1| 超碰久久草| av无线看| 亚洲日韩狠狠撸视频| 久久国产热视频97电影| 97久久国产亚洲精品超碰热| 曰韩精品视频一区二区| 操逼999| 日本三级网页| 日本久久久久久久久久| 婷婷丁香五月激情啪啪| 精品免费一区| 青青草日韩无码| 亚州欧美色图| 亚洲诱惑| 操狠狠| 色综合久久88色综合久久天天| 久偷拍欧美日韩三区| 伊人女女资源在线观看| 搡老女人老熟女91老熟女综合网| 中文字幕亚洲欧美在线不卡| www.国产高潮精品| 久久 精品| 欧美人人天天网| www.色五月| 欧美性性性| 超碰97玖玖爱| 精品久久青青草| 日韩激情无码影院| 97色碰| 蜜臀久久久| 91麻豆天美国产欧美| 国产午夜福利电影免费在线观看| 国产91 丝袜在线播放 | 97av,com| 黑人综合色| 天天内射| 撸撸成人在线视频| 久久精品视频28| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 成人26uuu| 精品九九| 中文乱码字幕观看| 三级色影综合网| 久久久熟女一区| 无码人妻精品一区二区三区九九| 婷婷在线播放| 国产乱码久久| 97视频在线观看播放与子乱对白在线……| 亚洲国产激情国产av| 天天做日日爱夜夜爽| 在线欧美69V免费观看视频| 亚洲无码 国产无码| 久久国产乱子伦精品免费女,网站| 无卡一区=区| 欧亚乱色熟女一区二区| 久久久久亚洲Aⅴ无码| 多乙久久久久久| 丁香色狠狠色综合久久小说| 波多野结衣AV无码一区| 国产区91柔拿会所技师| 91九色精品熟女内射| 天堂精品在线| 久久久久久久久久久六六| 99热超碰| 国产丁香精品露脸视频| AV中亚| 成人aⅴ一区二区三区| 亚洲h片在线免费观看| 在线人人人人人人精品超| 日韩性爱小视频在线观看| 五月丁香六月激情综合| 操操操操操操| 免费男人的天堂| 国产400孕妇孕交群| 国产啊v在线免费播放| 开心五月婷婷激情| 超碰538| 伊人久久亚洲色欲综合网站 | 啊啊啊好舒服视频| 日本在线视频导航| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 欧美资源| 九九热三级片| 亚洲九月丁香| 97久久精品亚洲中六字幕| 2017天天透天天通天天擦| 麻豆久久一区二区三区| 丁香五月久久| 欧美亚洲宗合色性图| 一本色道综合久久欧美日韩精品| 成人午夜小视频手机在线看| 精品国产99| 亚洲无码超碰免费| 亚洲不卡不卡中文字幕不卡| 欧美色青| 97超碰人操| 色优久久| 成人小电影网站tex| 日韩黄色一区二区三区| 精品丝袜无码一区二区三APP| 91操碰| 久操操| 福利色色| 97亚洲欧美日韩| 日本伦乱九九九综合| 欧美麻豆成人同性GⅤ在线| 久操精品| 黄污污污污| 深喉吞精| 久久久久13| 我爱搞逼综合网| 911粉嫩人妻| 91高潮喷水美女| 大伊香蕉在线视频免费| 五月色综合| 久久夜色一区二区| 五月丁香婷婷色| 日本黄大片在线观看视频| 久久久久久久久女黄| 国产嫩草精品A88AV在线| 日韩黄色成人性爱| 一级aaaaa欧美中文字幕录像片| 精品少妇99| 色麻豆AV| 超碰人妻中文在线| 97精品一二区| 亚一综合久久久久久久久久| 久久精品午夜国产亚洲AV无码| henhen91| 欧美热图99| 久久是精品| 亚洲色悠悠久久88| 丰满搜索结果 -第18页- 久久高清无码| 91日韩在线| 熟妇操花| 中文字幕在线观看二区三区| 一区二区影院| 中文字幕一二区二三区人妻专区| 伊人麻豆传媒| 精品人妻久久久久一区二区三区| 伊人久久亚洲色欲综合网站 | 国产不卡片| 午夜免费福利视频一区| 精品一啪| av凤凰久久久| 蜜乳av首页| 亚洲图片偷拍视频区| 在线观看日韩av不卡| 夜色AV无码手机在线影院| 国产又黄又爽又刺激久久久久久| 国产精品日韩在线一区| 天天爽夜夜爽夜夜爽精| 在线播放一级无码视频| 国产精品自拍xxxx| 欧美人妻久久精品二区三区 | 91爱看| 91天天综合网,天天综合网| 美女在线H91| 久久久久一本一区二区青青蜜月| 亚洲妇色| 日本中文字幕一区| 欧美极品少妇| 天天综合色图| 看全色黄大色大片免费视频| 九九九九AV| 精品久久久久久无码| 天天操天天射天天日| 最新的亚洲无吗| 一级久久性爱视频| 91狠婷| 另类av天堂| 91精品久久久久久77777| 中文字幕av片| av天堂电影网| 久久这里只精品免费福利| 国产亚洲99久久精品熟| 亚洲人妻中文高清| 吻戏激情性巴克| 97干色天堂| 丝袜色综合| …亚洲黄色厕厕女女在线播…| 国内毛片欧美香蕉精品| 中文字幕123| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美熟女妇同| 人人妻人人爽| 成人小说视频在线精品欧美| 亚洲精品aa久久伊人| 国产成人资源| 死我十八禁| 久久久亚洲| 亚洲成人一区二区精品| 在线观看一卡二卡| 亚洲丰满很很操| 青青色在线观看| 在线日韩日本亚洲国产| 九九色逼| 97精品久久久久中文字幕| 男人天堂新| 欧美精品日韩久久久九| 成人综合色网| 久久久久久99999国产精品| 老熟女乱伦片| 日本一级黄色电影| 精品人妻一区二区三区夜夜| 国产精品诱惑| 国产真实野战在线视频| 天堂国产AV| 日韩欧美女求操每天更新| 日本性爰一道本| 91 手机在线播放 绯色| 伊人午夜福利视频| AV在线性爱| 精品国产少妇高潮视频| 亚洲日韩资源| 黄片免费看黄片免费看| 熟妇激情| 人人操人人插人www| 日韩精彩免费| 中文字幕乱亚洲美女精品一区| 8050无码八戒| 久久草视频污视频| 欧美日韩另类在线播放| 啊啊啊用力在线观看| 精品天堂| 色色色欧美| 亚洲色图8| 国产精品爽爽va在线观看98| 青草视频人妻在线观看| 超碰人妻天天干| 青青草手机在线免费观看| 2024年最新色情网站在线观看 | 青青青在线高清视频在线一二三四区 | 97天天综合网| 国产成久久综合片| 熟妇视频一区二区三区在线观看| 91人妻在线视频| 五月天婷婷小说| 亚洲性刺激| 日韩操人| 婷婷国产精品一区二区| 色色色综合网| 91欧美经典| 日本91白丝| 日本成人在线不卡一区二区三区 | av72网| 国产精品毛片?v一区二区三区| 九月AV| 欧亚性爱在线视频| 男人的天堂无码| 一级A片女人高潮叫床| 91国产丝袜美女| 欧美顶级黄片AAAAA在线免费看| 激情久久日韩精品中文字幕麻豆| 国产日韩欧美三级片| 国产农村妇女毛片精品久久| 嗯嗯啊在线视频| 久久成年片色大黄全免费网站| 97激情97激情| 国产 亚洲 一二三四| 啊啊啊不要好爽日韩无码一区| 国产日韩欧美亚洲精品95 | 夜色五月天| 美女被啪到深处抽搐视频| 天天干天天日天天射黄色大片| 日韩三级在线观看网站| 白丝少妇一区二区| 久久久性| 人妻熟女一区二区三区在线| 婷婷视频在线免费观看| 欧美色网络| 日本裸体久久色噜噜| 中国一级操逼视频| 日韩天天综合| 国产又大又粗又长视频在线| α√在线| 国产一级舔足在线观看| 亚洲久草AV色图| 玖玖97综合| 2019天天干天天操| 羞涩视频| 亚洲丰满很很操| 亚洲综合小说另类图欧美视频激情小说色五月天 | 亚洲熟女av日韩熟女| 日韩无码极品| 蜜臀av中文字幕| 老鸭窝亚洲毛片| 成人精品一区二区91毛片不卡| 天天操天天干美女网址导航| 久久爽爽精品| 中文字幕黑人大片| 黄色免费网页无码| 草草电影院| 久射吧| 久久熟女人| 大香蕉五月天| 777AV电影| 思思热一热婷婷热一热| 美女被艹尤物视频| 国产隔壁老王影院在线| 欧美天天干| 欧美与日韩97| 男人的天堂色偷偷青青草视频婷婷网| 国产一级αv免费看片| 正在播放国产精品一区| 国产高清成人免费视频| 国产伊人精品在线| 性交一区二区在线播放| 欧美天天谢综合网| 超碰日本97美女人妻人人玩人人爱| 日韩AV无码中文一区二区| 国产乱伦亚洲色图高清无码| 插插综合网天天影视网| 熟女91网| 风骚少妇视频中文字幕| AV天堂男人的天堂| 香一区二区三区| 色香色香欲天天天影视综合网| 尤物黄色在线观看网站| 日韩黄片影院| 在线播放成人高清免费视频| 99999精品| 超碰九区| 天啪| 成人怡红院| 加勒比中文av| 99夜夜操| 人妻少妇精品久久久久久久| 日夜精品| 久草资源在线| 欧美一级二级三级| 午夜毛片亚洲精品片国产久久久| 黄色工厂这里只有精品| 强乱老妇中文字幕| 99草精| 97这里有精品| 日本506070| 色99999| 日韩日本欧美在线观看| 婷婷丁香激情| 欧美区亚洲区偷拍区| 国产又猛又粗又爽又黄| 国产精品不卡av免费在线观看| 五月天婷婷在线看| 久久综合国产精品国产| 26uuu国产成人综合| 人摸人人操人| 国产亚洲国产超碰| 天天综合网~69| 91九色丨国产丨爆乳| 超碰久久草| 北京美女一区二区| 色悠久久久av| 国产尤物在线三区| 亚洲国产成人精品女人久久久| 国产在线综合福利网站| 中国一级操逼视频| 美女午夜福利免费视频| 欧美性爱另类综合| 日本熟妇一区二区三区| 国产超碰在线一区| 97精品久久久久中文字幕| 成人草草视频| 一起草高清无码| 日韩国产不卡在线视频| 色婷婷视频| 天天天天天天天天综合| 毛片99-全集电影手机免费观看完整-B029AV | 熟女色综合久久| 久久怡红院| 天天弄欧美| 另类图片五月天| 青青草好吊色| 老熟妇一区二区三区…| 色色99| 亚洲色图20p| 中文字幕无码不卡啪啪| 亚洲 暴爽 AV人人爽日日碰| 丰满人妻一区二区三区四区| 黑丝少妇| 热久久无毒不卡| 欧美成人一级麻豆| 男人的天堂一区三区| 久久久久久夜夜夜夜夜| 久草线上视频免费看| 熟女人妻一区二区三区免费看| 亚一综合久久久久久久久久| 日韩欧美女优电影| 天天操天天7| 欧美精品成人一区二区在线观看 | 丁香六月激情| 欧美激情色婷婷花野真衣一区二区| 久9综合在线| 强奸抽插av| 久99热| 91超碰碰在线| 欧美丝袜91| 亚洲高清国产理伦片| 丁香五月天婷婷姐| 超碰97人妻自拍| 欧美老妇曰批的视频| 欧洲综合视频| 男人天堂新| 三级色综合| 激情综合av| 91丝袜在线观看| 欧美顶级黄片AAAAA在线免费看| 一区二区三区蜜桃成人撸久久东京热 | 国产精品一二三| WWW啪啪的com| 97激情97激情| 中文字幕在线观看网址| 一区二区娱乐网站| 久久骚| 日本日逼高清| 吉川爱美98堂在线| 亚欧无码线免费观看视频| 91狠| 丝袜美腿av女优在线| 99操99| 天美传媒在线一区| 人人贴人人摸| 精品然女一区二区| 操操操五月天婷婷丁香影院| 欧美熟爽综合| 人妻少妇精品视频一区二区三区| 日韩 欧美 视频 在线 一区| aaa淫乱视频| 亚洲一区操| 97国产超湿| 日本熟妇自慰性高潮一区二区三区| 亚洲字幕一区二区| 98精品国产乱码久久久久久| 狠狠操官网| 免费夜夜爱黄色视频毛片| 少妇久久久久| 高清不卡国产| 国产美女口爆吞精视频| 国产十八禁视频| 国产白嫩漂亮KTV在线| 激情啪啪视频| www色日本| 欧美啪啪啪91| 精品性爱一区二区| 三级色影综合网| 日韩素人无码一区二区三区三州| 97在线观看免费视频| 高清不卡视频| 狠狠操官网| 天海翼久久| 国产女人成人精品视频| 日本欧美不卡| 九九九久千久久激情蜜桃在线看 | 色婷婷在线视频精品导航| 亚洲欧洲日本精品中文a∨| 亚洲青色欧美| 天天天天天干夜夜夜夜夜操| 久久亚洲一区女同性恋中文字幕| 亚洲 欧美 91| 黑人美精品 A片| 超碰在线在公开超碰在线在公开| 91大学精品激情戏| 豆花视频操逼网址| 色999偷自拍拍| 一级免费啪啪片| 91性网| 精品人妻一区二区三区-国产精品| 欧美性爱免费短视频| 91老熟女91老女人| 国产亚洲人妻综合日韩 久久| 这里都是精品| 夜夜国产一区| 亚洲激情在线| 99在线免费公开视频| 国产精品69久久久久孕妇欧美| 天天天天操| 囯产精品久久久久久久久久梁医生| 亚洲日韩久久精品一区| 丁香五月AV| 搡老女人老妇女AAA一VU麻豆| 91天堂| 人妻一区二区三区| 丁香五月自拍| 高清国产性猛交xxxx乱大交| 天天色综合影视网| 国产九区| 91精品电影18| 色y情视频免费看| 午夜爽爽爽| ai欧美亚洲小说| 久久久草成人网站久久久草成人久久久草久久久 | 亚洲色图综合网| 日韩97超碰中文字幕| 欧美亚洲国产91在线| 夜夜夜夜爽| 日日天天久久啊啊aaa| www.人人cao| 国产一区二区三三视频| 激情综合网亚洲| 男生通女生屁股| 后入式视频国产自| 久久一二三级一一一| 日日干夜夜干| 久久久成人国产精品无码| 99久久精品国产系列| 久久久555| 欧美在线亚洲| 欧美精品,四区。五区| 麻豆性爱视频在线播放| 大香蕉伊人色偷偷在线| 婷婷丁香在线| 无码聚合| 欧美日韩国产高清在线一二三区| 男人的天堂 在线一区| 天天干18禁| 久久久无码精品人妻二区 | 欧亚在线视频| 伊人五月天激情| 国产久久免费精品视频| 青青青国产手线观看视频2| 夜色91| 亚洲小说视频| 人妻熟女一区二区在线视频| 91国产伊人大香蕉| 怡红院亚洲怡春院av| 麻豆黄站| 国产高清在线自在拍69| 破处bbq| 欧美高清在线| 国产精品对白自产拍| 日夜尻逼网| 久久精品一区二区三区蜜桃臀| 日韩中文字幕av在线播放| 宗合情欲网| 国产精品网站免费| 超碰97色色| 大香蕉综合久久| 天天综合日韩网| 亚洲综合性感在线| 精产国品一区二三产品| 亚洲熟女综合| 欧美A√综合网 | 亚洲色图 综合| 亚洲aw毛茸茸在线| 91偷拍欧美亚洲| 天天日日本| 欧美91在线+|+欧美| 日日日大屁股骚女人精品| 伊人在线大香蕉视频久久| 国产女主播视频在线观看| 九九九九九九精品| 亚洲色图欧美色图另类图片| 中文字幕精品探花视频| 久久系列| 亚洲精品国产无码高清| 国产熟女乱论| 91女在线观看| 色制服丝袜夫妻av一区| 欧美激情内射| 亚洲人体视频在线观看| 欧美色视频在线| 亚洲中文一区二区三区视频| 爆乳免费黄网站| 嗯嗯啊啊视频一区二区三区| 加勒比性爱成人在线| 久久9999| 欧美天天综合网| 亚洲成人无码影院| 激情综合网五月婷婷| 97 亚洲 日韩 欧美 在线| 日日夜夜草草草| 天天干夜夜操一区二区| 亚洲玖玖爱| 熟妇乱伦一区二区| 粉嫩不卡一区二区性爱| 欧美日韩性感| 天天操人人操骚逼网站| 另类小说欧美激情校园春色| 色欲久久久久综合网| 亚洲九月丁香| 久久激情综合| 久艹伊人精品综合在线| 大香蕉在线视频15| 后入福利| 牛牛操视频逼| 亚洲激情综合| 超碰久久草| 亚洲欧美国产精品久久久久久久| 91伊人| 91精品无码人妻系列| 91人妻丝袜无码| 亚av顶级裸体一区二区三区四区五区 | 无码外流操逼视频| 日韩成人大片一区二区| 东北女人被操| 国产精品高潮久久久无码| 黄片在线免费在线观看| 久久久久久中文版| 欧中美三级一区二区三区| 丁香五月综合| 国产盗摄美女如厕大神作品在线观看| 国产馆| 在线人人人人人人精品超| 色精品极品| 大但人体久久久久| 国产51色综合久久免费| 欧美日韩人人精品| 欧美 亚洲精品首页| 黄色欧美性爱视频| 九九九九九九成人| 天堂v无码免费视频| 欧美九9 9 9| 男人天堂最新手机版在线青青草| 亚洲欧洲综合成人av一区| 久久婷婷国产一区二区色| 综合熟妇一区二区三区| 78超碰| 熟女性视频| 久久久涩| 国产超碰人人操| 精人妻无码一区二区三区伊人直播| 中文字幕中文字幕一区二区| 久久仑合| 最新av中文字幕高清| 欧洲免费一区二| 91 欧美| 嗯嗯啊啊视频在线看| 国际精品久久久| 亚洲熟女中文字幕在线| 操逼精品视频| 91免费看一区二区三区| 中文伊人大香蕉视频| 日韩亚洲欧美中文字幕| 亚洲精品久| 牛牛操视频逼| 自拍视频大全亚洲专媒视频/一区二区三区 | 久久的网站啊啊啊啊啊| 亚洲欧美日韩中文播放| 中文字幕在线观看第二页| 91精品国产91久久青草| 午夜呻吟欧美| 伊人网青青| 亚洲日韩XXX| 新婚人妻扶着粗大强行坐下| 色97综合中文字幕| 99热伊人| 国产内射爽爽大片| 色噜噜人妻丝袜AV资源| 巨爆乳一区二区爆乳区| 久久日本熟女精品一区| 成人免费福利在线观看| 色与欲影视天天看综合网| 91中文在线| 97日韩| 久久久男人的天堂| 亚洲图片偷拍视频区| 国产久久久久久| 99久久com免费视频′| 欧美操逼视频二区| 十八禁成人网站在线观看| 蜜臀网址在线| 99爱爱| 久久在线观看免费视频| 91国产美女丝袜足交精品视频| 91社操逼| 亚洲高清91| 欧美大片天天看| 久久亚洲av成人无码国产| www.男人的天堂| 男人亚洲91首页在线| 色哟哟511老熟女| 亚洲青青草| 五月丁香影视| 夜夜性| 人妻天天爽| 夜色五月天| 中国国产精品一区视频| 色图综合网| 操淫穴亚洲五月丁香| 任你草| 国产51色综合久久免费| 78m啪啪啪| 神马久久久久久久久久久久| 亚洲AV成人无码一区二区三区在线观看| 男人天堂 天天射| 中日韓欧美高清| 1769一区二区| 久久久久九九九九| 国产丸一视频| 日韩在线观看中文字幕视频| 欧美第一页| 欧美日本视频一区| 97国伦国色| 国产一区二区a毛片| 黑人娇小av在线播放| 欧美熟女丝袜| 久久国产99精品72福利| 女人午夜视频777| 91美女在线观看| 久久精9| 一本道综合色图| 久久精品国产亚洲AV嘿嘿| 啊啊啊好想要| 久久是精品| 97大色网| 久久久久久AV无码免费网站| 9国产超碰| 香蕉视频精品亚洲一区二区三区在线播| 91久久久老司机| 大香蕉 222| 日韩精品一区二区三区四虎影视| 91艹B视频| 九九九九精品在线| 欧美偷偷网| 日韩78m视频| 亚洲欧美另类少妇精品| 97人肏| 六月色婷婷| 日本在线激情一区二区三区| 五月婷亚洲精品天堂| 69天堂| 久久久久久九九九九九| 日本日日色视频| 九久9精品| 精品久久99| 免费精品中文字幕| 国产h小视频在线观看免费| 天天性射网| 少妇熟女视频一区二区三区| 黑人干亚洲| 97亚洲欧美日韩|