[{"data":1,"prerenderedAt":2201},["ShallowReactive",2],{"series:index":3,"content:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemdevelopmenttools":972,"surround:\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemdevelopmenttools":2198},[4,15,25,35,45,54,64,74,82,91,101,110,120,129,138,147,152,162,172,181,189,194,203,213,223,233,243,253,263,273,283,293,303,313,323,333,339,348,357,366,372,381,391,401,410,420,429,439,448,457,467,476,485,494,504,513,522,531,540,549,559,569,578,587,596,605,610,620,629,638,644,649,658,666,674,679,687,692,700,708,716,724,732,740,749,758,766,774,779,787,796,805,814,823,831,836,845,850,855,863,871,879,887,895,900,905,914,923,931,939,947,955,963],{"stem":5,"path":6,"title":7,"date":8,"collapsed":9,"readingTime":10},"posts\u002F2024\u002FXZZD-Aquire-Score","\u002F2024\u002F10\u002F23\u002FXZZD-Aquire-Score","XZZD_Aquire_Score","2024-10-23 15:08:30",false,{"text":11,"minutes":12,"time":13,"words":14},"3 min read",2.955,177300,591,{"stem":16,"path":17,"title":18,"date":19,"collapsed":9,"readingTime":20},"posts\u002F2024\u002Felec-design-contest-2024","\u002F2024\u002F07\u002F07\u002Felec-design-contest-2024","东四——隐秘的角落","2024-07-07 11:44:32",{"text":21,"minutes":22,"time":23,"words":24},"2 min read",1.74,104400,348,{"stem":26,"path":27,"title":28,"date":29,"collapsed":9,"readingTime":30},"posts\u002F2024\u002Fmechanics","\u002F2024\u002F07\u002F08\u002Fmechanics","about力学","2024-07-08 14:14:07",{"text":31,"minutes":32,"time":33,"words":34},"9 min read",8.54,512400,1708,{"stem":36,"path":37,"title":38,"date":39,"collapsed":9,"readingTime":40},"posts\u002F2025\u002F25GElecDesignContest","\u002F2025\u002F08\u002F26\u002F25GElecDesignContest","纪念最好的大二五组 - Soleil 的 电赛回忆录","2025-08-26 11:06:33",{"text":41,"minutes":42,"time":43,"words":44},"30 min read",29.99,1799400,5998,{"stem":46,"path":47,"title":48,"date":49,"collapsed":9,"readingTime":50},"posts\u002F2025\u002FEngineering-Innovation","\u002F2025\u002F01\u002F20\u002FEngineering-Innovation","工程实践与创新能力大赛","2025-01-20 22:20:59",{"text":21,"minutes":51,"time":52,"words":53},1.365,81900,273,{"stem":55,"path":56,"title":57,"date":58,"collapsed":9,"readingTime":59},"posts\u002F2025\u002FTOP","\u002F2025\u002F01\u002F20\u002FTOP","置顶","3025-01-20 21:53:36",{"text":60,"minutes":61,"time":62,"words":63},"1 min read",0.285,17100,57,{"stem":65,"path":66,"title":67,"date":68,"collapsed":9,"readingTime":69},"posts\u002FUGCourses\u002F1.freshman-spring\u002Fengineering-drawing-notes","\u002F2024\u002F06\u002F30\u002Fengineering-drawing-notes","工程图学期末复习","2024-06-30 21:02:09",{"text":70,"minutes":71,"time":72,"words":73},"15 min read",14.78,886800,2956,{"stem":75,"path":76,"title":77,"date":78,"collapsed":9,"readingTime":79},"posts\u002FUGCourses\u002F1.freshman-spring\u002Findex","\u002Fugcourses\u002Ffreshman-spring","大一春夏","2024-06-30 19:15:28",{"text":80,"minutes":81,"time":81,"words":81},"0 min read",0,{"stem":83,"path":84,"title":85,"date":86,"collapsed":9,"readingTime":87},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FComplex-Analysis","\u002F2025\u002F01\u002F21\u002FComplex-Analysis","复变函数与积分变换","2025-01-21 13:23:59",{"text":11,"minutes":88,"time":89,"words":90},2.855,171300,571,{"stem":92,"path":93,"title":94,"date":95,"collapsed":9,"readingTime":96},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FFundamentalsMarxism","\u002F2025\u002F06\u002F06\u002FFundamentalsMarxism","马克思主义基本原理","2025-06-06 00:22:45",{"text":97,"minutes":98,"time":99,"words":100},"6 min read",5.54,332400,1108,{"stem":102,"path":103,"title":104,"date":105,"collapsed":9,"readingTime":106},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMathematical-Modeling","\u002F2024\u002F09\u002F22\u002FMathematical-Modeling","数学建模（课程）","2024-09-22 19:07:42",{"text":11,"minutes":107,"time":108,"words":109},2.475,148500,495,{"stem":111,"path":112,"title":113,"date":114,"collapsed":9,"readingTime":115},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMicroelectronic-Circuits","\u002F2025\u002F01\u002F20\u002FMicroelectronic-Circuits","电基小子","2025-01-20 23:02:49",{"text":116,"minutes":117,"time":118,"words":119},"5 min read",4.225,253500,845,{"stem":121,"path":122,"title":123,"date":124,"collapsed":9,"readingTime":125},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FMumerical-Analysis","\u002F2024\u002F09\u002F19\u002FMumerical-Analysis","数值分析方法","2024-09-19 17:12:56",{"text":11,"minutes":126,"time":127,"words":128},2.1,126000,420,{"stem":130,"path":131,"title":132,"date":133,"collapsed":9,"readingTime":134},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002FProbability-Theory","\u002F2025\u002F01\u002F21\u002FProbability-Theory","概率论与数理统计","2025-01-21 12:52:11",{"text":11,"minutes":135,"time":136,"words":137},2.205,132300,441,{"stem":139,"path":140,"title":141,"date":142,"collapsed":9,"readingTime":143},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fengineering-training","\u002F2024\u002F09\u002F17\u002Fengineering-training","工程训练","2024-09-17 21:40:26",{"text":11,"minutes":144,"time":145,"words":146},2.385,143100,477,{"stem":148,"path":149,"title":150,"date":78,"collapsed":9,"readingTime":151},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Findex","\u002Fugcourses\u002Fsophomore-autumn","大二秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":153,"path":154,"title":155,"date":156,"collapsed":9,"readingTime":157},"posts\u002FUGCourses\u002F2.sophomore-autumn\u002Fsolid-state-physics","\u002F2024\u002F09\u002F11\u002Fsolid-state-physics","固体物理基础","2024-09-11 19:15:26",{"text":158,"minutes":159,"time":160,"words":161},"4 min read",3.21,192600,642,{"stem":163,"path":164,"title":165,"date":166,"collapsed":9,"readingTime":167},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FAIFrontier","\u002Fugcourses\u002Fsophomore-spring\u002Faifrontier","人工智能前沿","2025-06-12 14:58:16",{"text":168,"minutes":169,"time":170,"words":171},"25 min read",24.02,1441200,4804,{"stem":173,"path":174,"title":175,"date":166,"collapsed":9,"readingTime":176},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FDigitalSys","\u002Fugcourses\u002Fsophomore-spring\u002Fdigitalsys","数字系统设计",{"text":177,"minutes":178,"time":179,"words":180},"45 min read",44.87,2692200,8974,{"stem":182,"path":183,"title":184,"date":166,"collapsed":9,"readingTime":185},"posts\u002FUGCourses\u002F3.sophomore-spring\u002FMaoTheory","\u002F2025\u002F06\u002F12\u002FMaoTheory","毛概",{"text":70,"minutes":186,"time":187,"words":188},14.63,877800,2926,{"stem":190,"path":191,"title":192,"date":78,"collapsed":9,"readingTime":193},"posts\u002FUGCourses\u002F3.sophomore-spring\u002Findex","\u002Fugcourses\u002Fsophomore-spring","大二春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":195,"path":196,"title":197,"date":198,"collapsed":9,"readingTime":199},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture1","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture1","Lecture 1：摩尔定律与 CMOS","2026-09-09 19:39:00",{"text":60,"minutes":200,"time":201,"words":202},0.535,32100,107,{"stem":204,"path":205,"title":206,"date":207,"collapsed":9,"readingTime":208},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture10","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture10","Lecture 10：从 MOS 电容到 MOSFET","2026-09-10 00:10:00",{"text":209,"minutes":210,"time":211,"words":212},"18 min read",17.615,1056900,3523,{"stem":214,"path":215,"title":216,"date":217,"collapsed":9,"readingTime":218},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture11","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture11","Lecture 11：亚阈值效应与 MOSFET 尺寸缩放","2026-09-10 00:20:00",{"text":219,"minutes":220,"time":221,"words":222},"23 min read",22.35,1341000,4470,{"stem":224,"path":225,"title":226,"date":227,"collapsed":9,"readingTime":228},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture12","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture12","Lecture 12：MOSFET 尺寸缩微","2026-09-10 00:30:00",{"text":229,"minutes":230,"time":231,"words":232},"35 min read",34.225,2053500,6845,{"stem":234,"path":235,"title":236,"date":237,"collapsed":9,"readingTime":238},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture13","Lecture 13：MOS 新范式","2026-09-10 00:40:00",{"text":239,"minutes":240,"time":241,"words":242},"24 min read",23.25,1395000,4650,{"stem":244,"path":245,"title":246,"date":247,"collapsed":9,"readingTime":248},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture2","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture2","Lecture 2：半导体基础","2026-09-09 19:39:31",{"text":249,"minutes":250,"time":251,"words":252},"7 min read",6.02,361200,1204,{"stem":254,"path":255,"title":256,"date":257,"collapsed":9,"readingTime":258},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture3","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture3","Lecture 3：费米能级、载流子散射与迁移率","2026-09-09 21:00:00",{"text":259,"minutes":260,"time":261,"words":262},"13 min read",12.565,753900,2513,{"stem":264,"path":265,"title":266,"date":267,"collapsed":9,"readingTime":268},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture4","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture4","Lecture 4：漂移电流、扩散电流与产生复合","2026-09-09 23:00:00",{"text":269,"minutes":270,"time":271,"words":272},"10 min read",9.22,553200,1844,{"stem":274,"path":275,"title":276,"date":277,"collapsed":9,"readingTime":278},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture5","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture5","Lecture 5：PN 结与耗尽区","2026-09-09 23:10:00",{"text":279,"minutes":280,"time":281,"words":282},"14 min read",13.515,810900,2703,{"stem":284,"path":285,"title":286,"date":287,"collapsed":9,"readingTime":288},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture6","Lecture 6：正向偏置 PN 结与理想二极管方程","2026-09-09 23:20:00",{"text":289,"minutes":290,"time":291,"words":292},"20 min read",19.095,1145700,3819,{"stem":294,"path":295,"title":296,"date":297,"collapsed":9,"readingTime":298},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture7","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture7","Lecture 7：金半接触","2026-09-09 23:40:00",{"text":299,"minutes":300,"time":301,"words":302},"16 min read",15.195,911700,3039,{"stem":304,"path":305,"title":306,"date":307,"collapsed":9,"readingTime":308},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture8","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture8","Lecture 8：PN 结在光电领域的应用","2026-09-09 23:50:00",{"text":309,"minutes":310,"time":311,"words":312},"54 min read",53.955,3237300,10791,{"stem":314,"path":315,"title":316,"date":317,"collapsed":9,"readingTime":318},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FLecture9","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Flecture9","Lecture 9：MOS 电容","2026-09-10 00:00:00",{"text":319,"minutes":320,"time":321,"words":322},"21 min read",20.355,1221300,4071,{"stem":324,"path":325,"title":326,"date":327,"collapsed":9,"readingTime":328},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMidtermExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmidtermexam","期中复习题","2026-09-09 23:30:00",{"text":329,"minutes":330,"time":331,"words":332},"8 min read",7.595,455700,1519,{"stem":334,"path":335,"title":336,"date":337,"collapsed":9,"readingTime":338},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002FMockExam","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices\u002Fmockexam","押题密卷","2026-09-10 00:50:00",{"text":21,"minutes":51,"time":52,"words":53},{"stem":340,"path":341,"title":342,"date":198,"collapsed":343,"readingTime":344},"posts\u002FUGCourses\u002F4.junior-autumn\u002F1.microelectronic-devices\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fmicroelectronic-devices","微电子器件",true,{"text":158,"minutes":345,"time":346,"words":347},3.055,183300,611,{"stem":349,"path":350,"title":351,"date":352,"collapsed":9,"readingTime":353},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F1.HistoryMetaCharacters","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fhistorymetacharacters","History & Meta Characters","2026-09-10 20:25:44",{"text":269,"minutes":354,"time":355,"words":356},9.36,561600,1872,{"stem":358,"path":359,"title":360,"date":361,"collapsed":9,"readingTime":362},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F1.ExamAutumn2223","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamautumn2223","22-23 秋冬历年卷","2026-09-10 20:26:49",{"text":319,"minutes":363,"time":364,"words":365},20.295,1217700,4059,{"stem":367,"path":368,"title":369,"date":370,"collapsed":9,"readingTime":371},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F2.Exam2021","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexam2021","20-21 历年卷","2026-09-10 20:26:50",{"text":289,"minutes":290,"time":291,"words":292},{"stem":373,"path":374,"title":375,"date":376,"collapsed":9,"readingTime":377},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F3.ExamRecall1","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall1","不知名回忆卷 1","2026-09-10 20:26:51",{"text":116,"minutes":378,"time":379,"words":380},4.215,252900,843,{"stem":382,"path":383,"title":384,"date":385,"collapsed":9,"readingTime":386},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F10.PastExams\u002F4.ExamRecall23","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fpastexams\u002Fexamrecall23","不知名回忆卷 2\u002F3","2026-09-10 20:26:52",{"text":387,"minutes":388,"time":389,"words":390},"12 min read",11.235,674100,2247,{"stem":392,"path":393,"title":394,"date":395,"collapsed":9,"readingTime":396},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F1.Chapter1-Introduction","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter1-introduction","Chapter 1：Introduction","2026-09-10 20:27:26",{"text":397,"minutes":398,"time":399,"words":400},"19 min read",18.435,1106100,3687,{"stem":402,"path":403,"title":404,"date":405,"collapsed":9,"readingTime":406},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F2.Chapter2-IntroductionToUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter2-introductiontounix","Chapter 2：Introduction to Unix","2026-09-10 20:27:40",{"text":168,"minutes":407,"time":408,"words":409},24.895,1493700,4979,{"stem":411,"path":412,"title":413,"date":414,"collapsed":9,"readingTime":415},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F3.Chapter3-ViAndShell","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter3-viandshell","Chapter 3：Vi and Shell","2026-09-10 20:27:41",{"text":416,"minutes":417,"time":418,"words":419},"32 min read",31.035,1862100,6207,{"stem":421,"path":422,"title":423,"date":424,"collapsed":9,"readingTime":425},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F4.Chapter4-Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter4-network","Chapter 4：Network","2026-09-10 20:27:49",{"text":239,"minutes":426,"time":427,"words":428},23.975,1438500,4795,{"stem":430,"path":431,"title":432,"date":433,"collapsed":9,"readingTime":434},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F5.Chapter5-Administration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter5-administration","Chapter 5：Administration","2026-09-10 20:27:51",{"text":435,"minutes":436,"time":437,"words":438},"36 min read",35.41,2124600,7082,{"stem":440,"path":441,"title":442,"date":443,"collapsed":9,"readingTime":444},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F6.Chapter6-Xwindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter6-xwindow","Chapter 6：Xwindow","2026-09-10 20:27:53",{"text":319,"minutes":445,"time":446,"words":447},20.235,1214100,4047,{"stem":449,"path":450,"title":451,"date":452,"collapsed":9,"readingTime":453},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F7.Chapter7-SoftwareDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter7-softwaredevelopmenttools","Chapter 7：Software Development Tools","2026-09-10 20:27:54",{"text":209,"minutes":454,"time":455,"words":456},17.85,1071000,3570,{"stem":458,"path":459,"title":460,"date":461,"collapsed":9,"readingTime":462},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F11.Detailed\u002F8.Chapter8-CProgrammingInUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fdetailed\u002Fchapter8-cprogramminginunix","Chapter 8：C Programming in Unix","2026-09-10 20:27:57",{"text":463,"minutes":464,"time":465,"words":466},"17 min read",16.855,1011300,3371,{"stem":468,"path":469,"title":470,"date":471,"collapsed":9,"readingTime":472},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F2.LinuxUnix","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Flinuxunix","Linux & Unix","2026-09-10 20:25:46",{"text":41,"minutes":473,"time":474,"words":475},29.33,1759800,5866,{"stem":477,"path":478,"title":479,"date":480,"collapsed":9,"readingTime":481},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F3.Vi","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvi","Vi","2026-09-10 20:25:47",{"text":329,"minutes":482,"time":483,"words":484},7.95,477000,1590,{"stem":486,"path":487,"title":488,"date":489,"collapsed":9,"readingTime":490},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F4.ViCopy","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fvicopy","Vi（详细版）","2026-09-10 20:25:49",{"text":279,"minutes":491,"time":492,"words":493},13.785,827100,2757,{"stem":495,"path":496,"title":497,"date":498,"collapsed":9,"readingTime":499},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F5.Shells","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fshells","Shells","2026-09-10 20:25:51",{"text":500,"minutes":501,"time":502,"words":503},"22 min read",21.21,1272600,4242,{"stem":505,"path":506,"title":507,"date":508,"collapsed":9,"readingTime":509},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F6.Network","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fnetwork","Network","2026-09-10 20:25:54",{"text":319,"minutes":510,"time":511,"words":512},20.595,1235700,4119,{"stem":514,"path":515,"title":516,"date":517,"collapsed":9,"readingTime":518},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F7.SystemAdministration","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemadministration","System Administration","2026-09-10 20:26:44",{"text":329,"minutes":519,"time":520,"words":521},7.12,427200,1424,{"stem":523,"path":524,"title":525,"date":526,"collapsed":9,"readingTime":527},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F8.XWindow","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fxwindow","XWindow","2026-09-10 20:26:45",{"text":97,"minutes":528,"time":529,"words":530},5.105,306300,1021,{"stem":532,"path":533,"title":534,"date":535,"collapsed":9,"readingTime":536},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F9.SystemDevelopmentTools","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad\u002Fsystemdevelopmenttools","System Development Tools","2026-09-10 20:26:47",{"text":387,"minutes":537,"time":538,"words":539},11.35,681000,2270,{"stem":541,"path":542,"title":543,"date":544,"collapsed":343,"readingTime":545},"posts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Ficcad","面向 ICCAD 的软件基础技术","2026-09-10 12:37:00",{"text":60,"minutes":546,"time":547,"words":548},0.185,11100,37,{"stem":550,"path":551,"title":552,"date":553,"collapsed":9,"readingTime":554},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai1","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai1","飞起来1.0","2026-09-10 12:51:49",{"text":555,"minutes":556,"time":557,"words":558},"105 min read",104.655,6279300,20931,{"stem":560,"path":561,"title":562,"date":563,"collapsed":9,"readingTime":564},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai2","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai2","飞起来2.0","2026-09-10 12:52:06",{"text":565,"minutes":566,"time":567,"words":568},"29 min read",28.755,1725300,5751,{"stem":570,"path":571,"title":572,"date":573,"collapsed":9,"readingTime":574},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FFeiQilai3","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Ffeiqilai3","飞起来3.0","2026-09-10 12:52:12",{"text":116,"minutes":575,"time":576,"words":577},4.49,269400,898,{"stem":579,"path":580,"title":581,"date":582,"collapsed":9,"readingTime":583},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture13","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture13","Lecture 13：浮点数标准","2026-09-10 12:51:27",{"text":11,"minutes":584,"time":585,"words":586},2.575,154500,515,{"stem":588,"path":589,"title":590,"date":591,"collapsed":9,"readingTime":592},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FLecture6","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Flecture6","Lecture 6：Behavioral Modeling，非阻塞赋值","2026-09-10 12:51:12",{"text":97,"minutes":593,"time":594,"words":595},5.34,320400,1068,{"stem":597,"path":598,"title":599,"date":600,"collapsed":9,"readingTime":601},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002FPPTCorrespondence","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl\u002Fpptcorrespondence","与PPT的对应","2026-09-10 12:52:18",{"text":269,"minutes":602,"time":603,"words":604},9.275,556500,1855,{"stem":606,"path":607,"title":608,"date":544,"collapsed":343,"readingTime":609},"posts\u002FUGCourses\u002F4.junior-autumn\u002F3.HDL\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fhdl","硬件描述语言原理与应用",{"text":60,"minutes":61,"time":62,"words":63},{"stem":611,"path":612,"title":613,"date":614,"collapsed":9,"readingTime":615},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F1.BeforeMidterm","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fbeforemidterm","期中前","2026-09-10 20:28:52",{"text":616,"minutes":617,"time":618,"words":619},"11 min read",10.835,650100,2167,{"stem":621,"path":622,"title":623,"date":624,"collapsed":9,"readingTime":625},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F2.MidtermExam2425","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Fmidtermexam2425","24-25 期中","2026-09-10 20:29:00",{"text":21,"minutes":626,"time":627,"words":628},1.22,73200,244,{"stem":630,"path":631,"title":632,"date":633,"collapsed":9,"readingTime":634},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002F3.FinalExamReview","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign\u002Ffinalexamreview","期末考试整理","2026-09-10 20:29:09",{"text":387,"minutes":635,"time":636,"words":637},11.36,681600,2272,{"stem":639,"path":640,"title":641,"date":642,"collapsed":343,"readingTime":643},"posts\u002FUGCourses\u002F4.junior-autumn\u002F4.analogICDesign\u002Findex","\u002Fugcourses\u002Fjunior-autumn\u002Fanalogicdesign","模拟集成电路设计","2026-09-10 20:00:00",{"text":80,"minutes":81,"time":81,"words":81},{"stem":645,"path":646,"title":647,"date":78,"collapsed":9,"readingTime":648},"posts\u002FUGCourses\u002F4.junior-autumn\u002Findex","\u002Fugcourses\u002Fjunior-autumn","大三秋冬",{"text":80,"minutes":81,"time":81,"words":81},{"stem":650,"path":651,"title":652,"date":653,"collapsed":9,"readingTime":654},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F1.Chapter3-Device","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter3-device","Chapter 3：器件 Device","2026-09-10 21:14:41",{"text":249,"minutes":655,"time":656,"words":657},6.055,363300,1211,{"stem":659,"path":660,"title":661,"date":653,"collapsed":9,"readingTime":662},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F10.Chapter12-Arithmetic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter12-arithmetic","Chapter 12：算术运算电路 Arithmetic",{"text":168,"minutes":663,"time":664,"words":665},24.245,1454700,4849,{"stem":667,"path":668,"title":669,"date":653,"collapsed":9,"readingTime":670},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F11.Chapter13-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter13-memory","Chapter 13：存储器 Memory",{"text":229,"minutes":671,"time":672,"words":673},34.235,2054100,6847,{"stem":675,"path":676,"title":677,"date":653,"collapsed":9,"readingTime":678},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F12.Chapter14","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter14","Chapter 14",{"text":80,"minutes":81,"time":81,"words":81},{"stem":680,"path":681,"title":682,"date":653,"collapsed":9,"readingTime":683},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F1.Midterm2022","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2022","2022 期中试题",{"text":60,"minutes":684,"time":685,"words":686},0.075,4500,15,{"stem":688,"path":689,"title":690,"date":653,"collapsed":9,"readingTime":691},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F2.Midterm2023","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Fmidterm2023","2023 期中试题",{"text":80,"minutes":81,"time":81,"words":81},{"stem":693,"path":694,"title":695,"date":653,"collapsed":9,"readingTime":696},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F13.PastExams\u002F3.FinalPolished","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fpastexams\u002Ffinalpolished","期末历年卷（AI 润色版）",{"text":21,"minutes":697,"time":698,"words":699},1.575,94500,315,{"stem":701,"path":702,"title":703,"date":653,"collapsed":9,"readingTime":704},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F14.ExamRecall2026","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fexamrecall2026","数字集成电路回忆 2026",{"text":60,"minutes":705,"time":706,"words":707},0.49,29400,98,{"stem":709,"path":710,"title":711,"date":653,"collapsed":9,"readingTime":712},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F2.Chapter4-Wire","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter4-wire","Chapter 4：导线 Wire",{"text":397,"minutes":713,"time":714,"words":715},18.65,1119000,3730,{"stem":717,"path":718,"title":719,"date":653,"collapsed":9,"readingTime":720},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F3.Chapter5-Inverter","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter5-inverter","Chapter 5：CMOS 反相器 Inverter",{"text":269,"minutes":721,"time":722,"words":723},9.385,563100,1877,{"stem":725,"path":726,"title":727,"date":653,"collapsed":9,"readingTime":728},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F4.Chapter6-LogicGate","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter6-logicgate","Chapter 6：逻辑门 Logic Gate",{"text":31,"minutes":729,"time":730,"words":731},8.635,518100,1727,{"stem":733,"path":734,"title":735,"date":653,"collapsed":9,"readingTime":736},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F5.Chapter7-SequentialLogic","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter7-sequentiallogic","Chapter 7：时序逻辑 Sequential Logic",{"text":463,"minutes":737,"time":738,"words":739},16.645,998700,3329,{"stem":741,"path":742,"title":743,"date":653,"collapsed":9,"readingTime":744},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F6.Chapter8-Speed","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter8-speed","Chapter 8：延迟与速度 Speed",{"text":745,"minutes":746,"time":747,"words":748},"33 min read",32.885,1973100,6577,{"stem":750,"path":751,"title":752,"date":653,"collapsed":9,"readingTime":753},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F7.Chapter9-Power","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter9-power","Chapter 9：功耗 Power",{"text":754,"minutes":755,"time":756,"words":757},"31 min read",31.005,1860300,6201,{"stem":759,"path":760,"title":761,"date":653,"collapsed":9,"readingTime":762},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F8.Chapter10-Interconnect","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter10-interconnect","Chapter 10：互连 Interconnect",{"text":463,"minutes":763,"time":764,"words":765},16.32,979200,3264,{"stem":767,"path":768,"title":769,"date":653,"collapsed":9,"readingTime":770},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002F9.Chapter11-Timing","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign\u002Fchapter11-timing","Chapter 11：时序 Timing",{"text":289,"minutes":771,"time":772,"words":773},19.68,1180800,3936,{"stem":775,"path":776,"title":777,"date":653,"collapsed":343,"readingTime":778},"posts\u002FUGCourses\u002F5.junior-spring\u002F1.digitalICDesign\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fdigitalicdesign","数字集成电路设计",{"text":80,"minutes":81,"time":81,"words":81},{"stem":780,"path":781,"title":782,"date":653,"collapsed":9,"readingTime":783},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F1.L1-Intro","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl1-intro","L1：计算机发展史与体系结构导论",{"text":397,"minutes":784,"time":785,"words":786},18.695,1121700,3739,{"stem":788,"path":789,"title":790,"date":653,"collapsed":9,"readingTime":791},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F10.L8-9-Memory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl8-9-memory","L8-9：存储器层次结构",{"text":792,"minutes":793,"time":794,"words":795},"128 min read",127.1,7626000,25420,{"stem":797,"path":798,"title":799,"date":653,"collapsed":9,"readingTime":800},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F11.L10-11-Parallelism","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl10-11-parallelism","L10-11：并行性",{"text":801,"minutes":802,"time":803,"words":804},"159 min read",158.86,9531600,31772,{"stem":806,"path":807,"title":808,"date":653,"collapsed":9,"readingTime":809},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F12.L12-CacheCoherence","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl12-cachecoherence","L12：缓存一致性 Cache Coherence",{"text":810,"minutes":811,"time":812,"words":813},"76 min read",75.395,4523700,15079,{"stem":815,"path":816,"title":817,"date":653,"collapsed":9,"readingTime":818},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F13.L13-14-ComplexPipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl13-14-complexpipeline","L13-14：复杂流水线（衔接 L7）",{"text":819,"minutes":820,"time":821,"words":822},"44 min read",43.985,2639100,8797,{"stem":824,"path":825,"title":826,"date":653,"collapsed":9,"readingTime":827},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F14.L15","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl15","L15：期末复习问答",{"text":269,"minutes":828,"time":829,"words":830},9.105,546300,1821,{"stem":832,"path":833,"title":834,"date":653,"collapsed":9,"readingTime":835},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F2.L2-Binary","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl2-binary","L2：二进制数制",{"text":80,"minutes":81,"time":81,"words":81},{"stem":837,"path":838,"title":839,"date":653,"collapsed":9,"readingTime":840},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F3.L3-CMemory","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl3-cmemory","L3：C 语言与内存模型",{"text":841,"minutes":842,"time":843,"words":844},"98 min read",97.32,5839200,19464,{"stem":846,"path":847,"title":848,"date":653,"collapsed":9,"readingTime":849},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F4.L4a-wbx","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4a-wbx","L4a：wbx",{"text":80,"minutes":81,"time":81,"words":81},{"stem":851,"path":852,"title":853,"date":653,"collapsed":9,"readingTime":854},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F5.L4b-MachineCode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl4b-machinecode","L4b：机器码 Machine Code",{"text":80,"minutes":81,"time":81,"words":81},{"stem":856,"path":857,"title":858,"date":653,"collapsed":9,"readingTime":859},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F6.L5-DSD","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl5-dsd","L5：数字系统设计 Digital System Design",{"text":269,"minutes":860,"time":861,"words":862},9.955,597300,1991,{"stem":864,"path":865,"title":866,"date":653,"collapsed":9,"readingTime":867},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F7.L6a-SingleCycle","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6a-singlecycle","L6a：单周期处理器设计",{"text":219,"minutes":868,"time":869,"words":870},22.125,1327500,4425,{"stem":872,"path":873,"title":874,"date":653,"collapsed":9,"readingTime":875},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F8.L6b-Microcode","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl6b-microcode","L6b：微码处理器架构",{"text":387,"minutes":876,"time":877,"words":878},11.86,711600,2372,{"stem":880,"path":881,"title":882,"date":653,"collapsed":9,"readingTime":883},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002F9.L7-Pipeline","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization\u002Fl7-pipeline","L7：流水线处理器",{"text":177,"minutes":884,"time":885,"words":886},44.505,2670300,8901,{"stem":888,"path":889,"title":890,"date":653,"collapsed":343,"readingTime":891},"posts\u002FUGCourses\u002F5.junior-spring\u002F2.computerOrganization\u002Findex","\u002Fugcourses\u002Fjunior-spring\u002Fcomputerorganization","计算机组成与系统结构",{"text":60,"minutes":892,"time":893,"words":894},0.12,7200,24,{"stem":896,"path":897,"title":898,"date":78,"collapsed":9,"readingTime":899},"posts\u002FUGCourses\u002F5.junior-spring\u002Findex","\u002Fugcourses\u002Fjunior-spring","大三春夏",{"text":80,"minutes":81,"time":81,"words":81},{"stem":901,"path":902,"title":903,"date":78,"collapsed":9,"readingTime":904},"posts\u002FUGCourses\u002Findex","\u002Fugcourses","本科课程",{"text":80,"minutes":81,"time":81,"words":81},{"stem":906,"path":907,"title":908,"date":909,"collapsed":9,"readingTime":910},"posts\u002Fubuntu\u002F1.config","\u002Fubuntu\u002Fconfig","ubuntu 系统配置","2025-08-26 19:38:06",{"text":158,"minutes":911,"time":912,"words":913},3.815,228900,763,{"stem":915,"path":916,"title":917,"date":918,"collapsed":9,"readingTime":919},"posts\u002Fubuntu\u002F2.cadence\u002F1.mmsim","\u002Fubuntu\u002Fcadence\u002Fmmsim","在 Ubuntu 24.04 上安装 Cadence MMSIM 15.1 的兼容性问题","2026-09-09 14:06:40",{"text":158,"minutes":920,"time":921,"words":922},3.5,210000,700,{"stem":924,"path":925,"title":926,"date":918,"collapsed":9,"readingTime":927},"posts\u002Fubuntu\u002F2.cadence\u002F2.innovus","\u002Fubuntu\u002Fcadence\u002Finnovus","Innovus安装",{"text":11,"minutes":928,"time":929,"words":930},2.08,124800,416,{"stem":932,"path":933,"title":934,"date":918,"collapsed":9,"readingTime":935},"posts\u002Fubuntu\u002F2.cadence\u002Findex","\u002Fubuntu\u002Fcadence","Ubuntu24.04安装Cadence 系列软件",{"text":269,"minutes":936,"time":937,"words":938},9.98,598800,1996,{"stem":940,"path":941,"title":942,"date":918,"collapsed":9,"readingTime":943},"posts\u002Fubuntu\u002F3.synopsys","\u002Fubuntu\u002Fsynopsys","Ubuntu 24.04 安装 Synopsys",{"text":269,"minutes":944,"time":945,"words":946},9.555,573300,1911,{"stem":948,"path":949,"title":950,"date":918,"collapsed":9,"readingTime":951},"posts\u002Fubuntu\u002F4.vivado","\u002Fubuntu\u002Fvivado","Ubuntu 24.04 安装 Vivado 2020.1",{"text":60,"minutes":952,"time":953,"words":954},0.62,37200,124,{"stem":956,"path":957,"title":958,"date":918,"collapsed":9,"readingTime":959},"posts\u002Fubuntu\u002F5.migrate","\u002Fubuntu\u002Fmigrate","硬盘迁移系统",{"text":60,"minutes":960,"time":961,"words":962},0.64,38400,128,{"stem":964,"path":965,"title":966,"date":967,"collapsed":9,"readingTime":968},"posts\u002Fubuntu\u002Findex","\u002Fubuntu","Ubuntu装进移动硬盘","2025-08-25 19:38:06",{"text":269,"minutes":969,"time":970,"words":971},9.26,555600,1852,{"id":973,"title":534,"body":974,"categories":2182,"collapsed":9,"date":535,"description":2183,"draft":9,"extension":2184,"hideInArchive":343,"hideInList":343,"image":2185,"meta":2186,"navigation":343,"path":533,"permalink":2185,"published":2185,"readingTime":2188,"recommend":2185,"references":2185,"seo":2189,"sitemap":2190,"stem":532,"tags":2193,"type":2196,"updated":535,"__hash__":2197},"content\u002Fposts\u002FUGCourses\u002F4.junior-autumn\u002F2.ICCAD\u002F9.SystemDevelopmentTools.md",{"type":975,"value":976,"toc":2164},"minimark",[977,982,1113,1151,1158,1162,1263,1267,1501,1505,1570,1574,1654,1658,1707,1711,1727,1737,1742,1746,1775,1779,1875,1879,1927,1944,1947,1962,1966,2159],[978,979,981],"h3",{"id":980},"cc-program-developing-flow","C\u002FC++ Program Developing Flow",[983,984,985,1021,1054,1082],"ul",{},[986,987,988,992,993,997],"li",{},[989,990,991],"strong",{},"预编译阶段","：c 文件生成 i 文件。",[994,995,996],"code",{"code":996},"gcc -E 源文件 -o 要生成的文件名",[983,998,999,1005,1011],{},[986,1000,1001,1002],{},"如：",[994,1003,1004],{"code":1004},"gcc -E text.c -o text.i",[986,1006,1007,1010],{},[994,1008,1009],{"code":1009},".i","仍然是文本文件，里面是展开后的 C 源码（非常长）",[986,1012,1013,1014,1017,1018],{},"预编译进行",[989,1015,1016],{},"宏替换、注释删除以及头文件展开","等工作 ",[994,1019,1020],{"code":1020},"E = Preprocess only",[986,1022,1023,1026,1027],{},[989,1024,1025],{},"编译阶段","：i 文件生成 s 文件。\n",[983,1028,1029,1043,1048],{},[986,1030,1001,1031,1034,1035,1038,1039,1042],{},[994,1032,1033],{"code":1033},"gcc -S text.i","，默认输出为 ",[994,1036,1037],{"code":1037},"text.s","，也可以直接",[994,1040,1041],{"code":1041},"gcc -S text.c","，gcc 会自动先预处理再编译",[986,1044,1045,1047],{},[994,1046,1037],{"code":1037},"：汇编文本文件，人可读（但较难）",[986,1049,1050,1051],{},"编译进行目标代码生成与优化、语法语义分析等，",[989,1052,1053],{},"将源代码翻译成汇编",[986,1055,1056,1059,1060],{},[989,1057,1058],{},"汇编阶段","：s 文件生成 o 文件\n",[983,1061,1062,1074,1079],{},[986,1063,1001,1064,1034,1067,1038,1070,1073],{},[994,1065,1066],{"code":1066},"gcc -c text.s",[994,1068,1069],{"code":1069},"text.o",[994,1071,1072],{"code":1072},"gcc -c text.c","，gcc 自动预处理+编译+汇编，停在 .o",[986,1075,1076,1078],{},[994,1077,1069],{"code":1069},"：目标文件objective（二进制），不可直接运行（通常还需要“拼装”）",[986,1080,1081],{},"汇编生成各段和符号表，将汇编指令翻译成二进制格式",[986,1083,1084,1087,1088],{},[989,1085,1086],{},"链接阶段","：o 文件生成 out 文件\n",[983,1089,1090,1103,1110],{},[986,1091,1001,1092,1095,1096,1099,1100],{},[994,1093,1094],{"code":1094},"gcc text.o","编译所有 c 并链接，",[994,1097,1098],{"code":1098},"gcc **.c -o 可执行文件名","。默认输出为 ",[994,1101,1102],{"code":1102},"a.out",[986,1104,1105,1106,1109],{},"链接的主要内容就是",[989,1107,1108],{},"把各个模块之间相互引用的部分都处理好","，使得各个模块之间能够正确的衔接",[986,1111,1112],{},"链接可以分为静态链接和动态链接。相应的也有静态库和动态库来供链接使用",[1114,1115,1116],"blockquote",{},[983,1117,1118,1142],{},[986,1119,1120,1123,1124,1127,1128,1130,1131,1134,1135,1138,1139,1141],{},[994,1121,1122],{"code":1122},".a"," 是静态库文件，靠 ",[994,1125,1126],{"code":1126},".o"," 文件生成，本质是把",[994,1129,1126],{"code":1126}," ",[989,1132,1133],{},"打包","在一起（",[989,1136,1137],{},"a","rchive）作为一个库为外部程序提供函数、接口。相当于好多个 ",[994,1140,1126],{"code":1126}," 合在一起，程序更独立但是体积大",[986,1143,1144,1147,1148,1150],{},[994,1145,1146],{"code":1146},".so","是动态库文件，链接时，可执行文件里只记录“要用某个库的某些符号”。运行时，系统的动态链接器把 ",[994,1149,1146],{"code":1146}," 加载到内存再把调用地址对应起来，程序体积变小但是依赖环境",[1152,1153,1154],"p",{},[1155,1156],"img",{"alt":1155,"src":1157},"\u002Fimg\u002FICCAD\u002FSystemDevelopmentTools-01.png",[978,1159,1161],{"id":1160},"suffix-naming-convention","Suffix Naming Convention",[983,1163,1164,1170,1180,1186,1192,1197,1203,1208,1213,1219,1225,1254,1260],{},[986,1165,1166,1169],{},[994,1167,1168],{"code":1168},".sh\u002F.bash\u002F.csh"," #Shell Script",[986,1171,1172,1175,1176,1179],{},[994,1173,1174],{"code":1174},".c\u002F.cpp\u002F"," \u002F",[994,1177,1178],{"code":1178},".h\u002F.hpp"," #C\u002FC++ Source\u002FHeader File",[986,1181,1182,1185],{},[994,1183,1184],{"code":1184},".py"," #Python Script",[986,1187,1188,1191],{},[994,1189,1190],{"code":1190},".java"," #Java Source File",[986,1193,1194,1196],{},[994,1195,1126],{"code":1126}," #Object File，gcc -c之后生成的目标文件",[986,1198,1199,1202],{},[994,1200,1201],{"code":1201},".s"," #Assembly Source File，汇编文件",[986,1204,1205,1207],{},[994,1206,1122],{"code":1122}," #Library (static)，静态库",[986,1209,1210,1212],{},[994,1211,1146],{"code":1146}," #Dynamic-linking Library (shared object)，动态库",[986,1214,1215,1218],{},[994,1216,1217],{"code":1217},".f"," #Fortran Source File",[986,1220,1221,1224],{},[994,1222,1223],{"code":1223},".pl"," #Perl Script perl 脚本",[986,1226,1227,1230,1231],{},[994,1228,1229],{"code":1229},".tcl"," #TCL\u002FTK Script\n",[983,1232,1233],{},[986,1234,1235,1238],{},[989,1236,1237],{},"怎么运行：",[983,1239,1240,1247],{},[986,1241,1242,1243,1246],{},"常见：",[994,1244,1245],{"code":1245},"tclsh xxx.tcl","（命令行解释器）",[986,1248,1249,1250,1253],{},"或 GUI：",[994,1251,1252],{"code":1252},"wish xxx.tcl","（带 Tk 界面）",[986,1255,1256,1259],{},[994,1257,1258],{"code":1258},".scala"," #Scala Source File",[986,1261,1262],{},"后缀在 Linux 中只是标注功能，本质上 Linux 中只有文件的概念，这些都没有区别",[978,1264,1266],{"id":1265},"gcc-options","gcc Options",[983,1268,1269,1448],{},[986,1270,1271,1274,1275],{},[994,1272,1273],{"code":1273},"gcc"," # GNU C Compiler\n",[983,1276,1277,1286,1307,1336,1344,1358,1391,1397],{},[986,1278,1279,1282,1283,1285],{},[994,1280,1281],{"code":1281},"-c"," # 只编译，不 Link，产生 ",[994,1284,1126],{"code":1126}," 文件",[986,1287,1288,1291,1292],{},[994,1289,1290],{"code":1290},"-g"," # 可调试的编译\n",[983,1293,1294],{},[986,1295,1296,1297,1300,1301,1303,1304,1306],{},"默认编译生成的可执行文件是无法使用 ",[994,1298,1299],{"code":1299},"gdb"," 来跟踪或调试的，因为可执行程序中没有可供 ",[994,1302,1299],{"code":1299}," 调试使用的特殊信息；为了将必要的调试信息整合到可执行文件中，我们便需要用到 ",[994,1305,1290],{"code":1290}," 选项",[986,1308,1309,1312,1313],{},[994,1310,1311],{"code":1311},"-O?"," # 进行编译优化，级别越高效果越好，时间越长\n",[983,1314,1315,1333],{},[986,1316,1317,1320,1321,1320,1324,1320,1327,1320,1330],{},[994,1318,1319],{"code":1319},"-O1",", ",[994,1322,1323],{"code":1323},"-O2",[994,1325,1326],{"code":1326},"-O3",[994,1328,1329],{"code":1329},"-Os",[994,1331,1332],{"code":1332},"-Ofast",[986,1334,1335],{},"可以选择一级、二级、三级、空间优化、速度优化等",[986,1337,1338,1341,1342],{},[994,1339,1340],{"code":1340},"-o output_filename"," # 指定输出文件名称，默认为 ",[994,1343,1102],{"code":1102},[986,1345,1346,1349,1350],{},[994,1347,1348],{"code":1348},"-Ipathname"," # 指定额外的头文件搜索路径\n",[983,1351,1352],{},[986,1353,1001,1354,1357],{},[994,1355,1356],{"code":1356},"gcc -I .\u002Finc\u002F main.c add.c","，就添加了路径",[986,1359,1360,1363,1364,1367,1368,1371],{},[994,1361,1362],{"code":1362},"-Dsymbol"," # 定义宏 ",[994,1365,1366],{"code":1366},"symbol","，等价于 ",[994,1369,1370],{"code":1370},"#define symbol",[983,1372,1373,1382],{},[986,1374,1375,1378,1379],{},[994,1376,1377],{"code":1377},"gcc -Dsymbol"," 直接跟宏名，相当于定义这个宏，默认这个宏的内容是 ",[994,1380,1381],{"code":1381},"1",[986,1383,1384,1387,1388],{},[994,1385,1386],{"code":1386},"gcc -DNAME=value"," 表示定义宏，它的内容是 ",[994,1389,1390],{"code":1390},"value",[986,1392,1393,1396],{},[994,1394,1395],{"code":1395},"-Ldirectory"," # 指定额外的函数库搜索路径",[986,1398,1399,1402,1403],{},[994,1400,1401],{"code":1401},"-lxyz"," # 链接时搜索指定具体的函数库\n",[983,1404,1405,1410,1423,1435],{},[986,1406,1001,1407],{},[994,1408,1409],{"code":1409},"gcc -o hello hello.c -I \u002Fhome\u002Fhello\u002Finclude -L \u002Fhome\u002Fhello\u002Flib -lworld",[986,1411,1412,1415,1416,1419,1420],{},[994,1413,1414],{"code":1414},"-I \u002Fhome\u002Fhello\u002Finclude"," 表示将 ",[994,1417,1418],{"code":1418},"\u002Fhome\u002Fhello\u002Finclude"," 目录作为第一个寻找文件的目录，寻找的顺序是：",[994,1421,1422],{"code":1422},"\u002Fhome\u002Fhello\u002Finclude --> \u002Fusr\u002Finclude --> \u002Fusr\u002Flocal\u002Finclude",[986,1424,1425,1415,1428,1431,1432],{},[994,1426,1427],{"code":1427},"-L \u002Fhome\u002Fhello\u002Flib",[994,1429,1430],{"code":1430},"\u002Fhome\u002Fhello\u002Flib"," 目录作为第一个寻找库文件的目录，寻找的顺序是：",[994,1433,1434],{"code":1434},"\u002Fhome\u002Fhello\u002Flib --> \u002Flib --> \u002Fusr\u002Flib --> \u002Fusr\u002Flocal\u002Flib",[986,1436,1437,1440,1441,1444,1445,1285],{},[994,1438,1439],{"code":1439},"-lworld"," 表示在上面的 lib 的路径中寻找 ",[994,1442,1443],{"code":1443},"libworld.so"," 或 ",[994,1446,1447],{"code":1447},"libworld.a",[986,1449,1450,1451],{},"三种生成可执行文件的方法\n",[983,1452,1453,1471,1481],{},[986,1454,1455,1456,1458,1459],{},"第一种：compile 和 link 是分开的。",[994,1457,1281],{"code":1281}," 为 compile only，第二步为链接，生成可执行文件\n",[983,1460,1461,1466],{},[986,1462,1463],{},[994,1464,1465],{"code":1465},"gcc -c hello.c",[986,1467,1468],{},[994,1469,1470],{"code":1470},"gcc -o hello hello.o",[986,1472,1473,1474],{},"第二种：一下子写出，编译和链接一起进行\n",[983,1475,1476],{},[986,1477,1478],{},[994,1479,1480],{"code":1480},"gcc -o hello hello.c",[986,1482,1483,1484,1487,1488,1491,1492,1494],{},"第三种：没有用 ",[994,1485,1486],{"code":1486},"-o"," 来指示，且输入为 ",[994,1489,1490],{"code":1490},".c"," 文件，就直接生成 ",[994,1493,1102],{"code":1102},[983,1495,1496],{},[986,1497,1498],{},[994,1499,1500],{"code":1500},"gcc hello.c",[978,1502,1504],{"id":1503},"source-code-debugging","Source Code Debugging",[983,1506,1507],{},[986,1508,1509,1510],{},"gdb\n",[983,1511,1512,1518],{},[986,1513,1514,1517],{},[994,1515,1516],{"code":1516},"list"," #列出源代码",[986,1519,1520,1523,1524,1527],{},[994,1521,1522],{"code":1522},"br n"," #在第 n 行设置断点",[994,1525,1526],{"code":1526},"br=break",[983,1528,1529,1535,1541,1547,1553,1559,1565],{},[986,1530,1531,1534],{},[994,1532,1533],{"code":1533},"run"," #运行文件",[986,1536,1537,1540],{},[994,1538,1539],{"code":1539},"print x"," #打印变量 x",[986,1542,1543,1546],{},[994,1544,1545],{"code":1545},"next"," #运行下一行",[986,1548,1549,1552],{},[994,1550,1551],{"code":1551},"where"," #显示正在运行的函数和行数",[986,1554,1555,1558],{},[994,1556,1557],{"code":1557},"help"," #显示可用命令",[986,1560,1561,1564],{},[994,1562,1563],{"code":1563},"quit"," #退出",[986,1566,1567,1568],{},"如果想要 debug，就要在编译时加上 ",[994,1569,1290],{"code":1290},[978,1571,1573],{"id":1572},"building-ones-own-library-archive","Building One’s Own Library Archive",[983,1575,1576,1638],{},[986,1577,1578,1581,1582,1585,1586,1588,1589,1591,1592],{},[994,1579,1580],{"code":1580},"ar","  ",[989,1583,1584],{},"(","archive) #从档案中创建\u002F修改\u002F提取。多个 ",[994,1587,1126],{"code":1126}," 文件打包就是 ",[994,1590,1122],{"code":1122}," 静态库文件\n",[983,1593,1594,1616,1632],{},[986,1595,1596,1599,1600],{},[994,1597,1598],{"code":1598},"-r"," 将文件插入库中\n",[983,1601,1602],{},[986,1603,1001,1604,1607,1608,1611,1612,1615],{},[994,1605,1606],{"code":1606},"ar -r liba.a b.o","，就可以将 ",[994,1609,1610],{"code":1610},"b.o"," 插入 ",[994,1613,1614],{"code":1614},"liba.a"," 中",[986,1617,1618,1621,1622],{},[994,1619,1620],{"code":1620},"-x","：从库文件中取出成员文件\n",[983,1623,1624],{},[986,1625,1626,1629,1630,1285],{},[994,1627,1628],{"code":1628},"ar -x liba.a b.o"," 表示从库中解出 ",[994,1631,1126],{"code":1126},[986,1633,1634,1637],{},[994,1635,1636],{"code":1636},"-d","：删除库文件中的成员文件",[986,1639,1640,1643,1644],{},[994,1641,1642],{"code":1642},"ranlib"," #产生档案的索引\n",[983,1645,1646,1649],{},[986,1647,1648],{},"ranlib 的意思是生成的打包的索引。有索引的话，一旦有外部链接，就很容易连上，访问很快",[986,1650,1651,1285],{},[994,1652,1653],{"code":1653},"ranlib + a",[978,1655,1657],{"id":1656},"other-tools-for-developing-software","Other Tools for Developing Software",[983,1659,1660,1682,1693],{},[986,1661,1662,1665,1666],{},[994,1663,1664],{"code":1664},"as"," #汇编语言\n",[983,1667,1668,1671],{},[986,1669,1670],{},"as 的意思为 assembler，集合聚集的意思，为汇编语言的编译器",[986,1672,1673,1674,1676,1677,1679,1680,1285],{},"汇编语言为 ",[994,1675,1201],{"code":1201}," 后缀，可以通过 ",[994,1678,1664],{"code":1664}," 命令链接为 ",[994,1681,1126],{"code":1126},[986,1683,1684,1687,1688],{},[994,1685,1686],{"code":1686},"lex"," #生成一个与输入流的简单语法分析相匹配的 C 或 C++ 语言程序\n",[983,1689,1690],{},[986,1691,1692],{},"lex 是词法编译器，生成的代码可以用来解析语言",[986,1694,1695,1698,1699],{},[994,1696,1697],{"code":1697},"yacc"," #通过一组语法规则产生编译器的解析部分\n",[983,1700,1701,1704],{},[986,1702,1703],{},"写好语法规则后，输给 yacc 后就会生成一段 c 语言代码，到时候可以调用作为解析语言，比如分析输入 c 语言的语法规则，为语法分析器",[986,1705,1706],{},"yacc 作为语法分析器可以调用词法分析器 lex",[978,1708,1710],{"id":1709},"make-overview","make Overview",[983,1712,1713,1724],{},[986,1714,1715,1716],{},"make\u002Fgmake #一个可以自动判断需要编译或链接的源文件的工具",[983,1717,1718,1721],{},[986,1719,1720],{},"make 开发工具用于自动管理源代码的编译和链接；",[986,1722,1723],{},"make 本身并不知道这些源代码之间是什么关系，我们要写描述文件关系的文件 makefile；",[986,1725,1726],{},"makefile Rules",[1728,1729,1734],"pre",{"className":1730,"code":1732,"language":1733},[1731],"language-text","target: depencies...\n  commands...\n","text",[994,1735,1732],{"__ignoreMap":1736},"",[983,1738,1739],{},[986,1740,1741],{},"makefile 规则非常简单，格式为“依赖于” + “命令”。dependencies 里面的东西如果比 target 新的话，那就触发下面的 command 动作",[978,1743,1745],{"id":1744},"make-command-line-options","make Command Line Options",[983,1747,1748],{},[986,1749,1750,1751,1755],{},"make ",[1752,1753,1754],"span",{},"options",[983,1756,1757,1763,1769],{},[986,1758,1759,1762],{},[994,1760,1761],{"code":1761},"-f filename"," #当文件名不为 makefile 时，从该文件中读入 makefile，use filename as makefile",[986,1764,1765,1768],{},[994,1766,1767],{"code":1767},"-n"," #打印命令，但不执行",[986,1770,1771,1774],{},[994,1772,1773],{"code":1773},"-p"," #打印完整的宏定义和目标描述",[978,1776,1778],{"id":1777},"using-macros-variables-in-makefile","Using Macros (Variables) in makefile",[983,1780,1781,1784,1791,1868],{},[986,1782,1783],{},"Macros 意思为宏，可以理解为 makefile 中的变量",[986,1785,1786,1787,1790],{},"在 makefile 中引用变量使用 ",[994,1788,1789],{"code":1789},"$"," 符号",[986,1792,1793,1794],{},"Predefined Macros，预先定义好的宏\n",[983,1795,1796,1802,1808,1814,1824,1830,1839,1848,1858],{},[986,1797,1798,1801],{},[994,1799,1800],{"code":1800},"AS"," – assembler (as) #汇编",[986,1803,1804,1807],{},[994,1805,1806],{"code":1806},"CC"," – C compiler command (cc) #C 编译命令",[986,1809,1810,1813],{},[994,1811,1812],{"code":1812},"FC"," – Fortran compiler command (fc) #公式编译命令",[986,1815,1816,1819,1820,1823],{},[994,1817,1818],{"code":1818},"CPP"," – C++ preprocessing command (",[994,1821,1822],{"code":1822},"$(CC) -E",") #C++ 预处理命令",[986,1825,1826,1829],{},[994,1827,1828],{"code":1828},"CXX"," – C++ compiler command (g++) #C++ 编译命令",[986,1831,1832,1835,1836,1838],{},[994,1833,1834],{"code":1834},"CFLAGS"," – C compiler option flags (e.g. ",[994,1837,1290],{"code":1290},") #C 编译可选标志",[986,1840,1841,1844,1845,1847],{},[994,1842,1843],{"code":1843},"FFLAGS"," – Fortran compiler option flags (e.g. ",[994,1846,1290],{"code":1290},") #公式编译可选标志",[986,1849,1850,1853,1854,1857],{},[994,1851,1852],{"code":1852},"LDFLAGS"," – Linking option flags (e.g. ",[994,1855,1856],{"code":1856},"-L \u002Fusr\u002Fshare\u002Flib",") #链接可选标志",[986,1859,1860,1863,1864,1867],{},[994,1861,1862],{"code":1862},"LDLIBS"," – Linking libraries (e.g. ",[994,1865,1866],{"code":1866},"-lm",") #链接目录",[986,1869,1870,1871,1874],{},"可以用 ",[994,1872,1873],{"code":1873},"make -p"," 来查看哪些变量已经预先定义过了",[978,1876,1878],{"id":1877},"special-internal-macros","Special Internal Macros",[983,1880,1881],{},[986,1882,1883,1886,1887],{},[994,1884,1885],{"code":1885},"$(TARGET)",": file1.o file2.o file3.o\n",[983,1888,1889,1897,1906,1915,1921],{},[986,1890,1891,1894,1895],{},[994,1892,1893],{"code":1893},"$@"," 目标文件，即 ",[994,1896,1885],{"code":1885},[986,1898,1899,1902,1903],{},[994,1900,1901],{"code":1901},"$^"," 表示所有的依赖文件，即 ",[994,1904,1905],{"code":1905},"file1.o file2.o file3.o",[986,1907,1908,1911,1912],{},[994,1909,1910],{"code":1910},"$\u003C"," 表示第一个依赖文件，即 ",[994,1913,1914],{"code":1914},"file1.o",[986,1916,1917,1920],{},[994,1918,1919],{"code":1919},"$?"," 表示比目标还要新的依赖文件列表",[986,1922,1923,1926],{},[994,1924,1925],{"code":1925},"$*"," 当前任务的基名，即不包括后缀",[1114,1928,1929],{},[1152,1930,1931,1130,1933,1936,1937,1940,1941,1943],{},[994,1932,1919],{"code":1919},[989,1934,1935],{},"只包含那些比目标更新的依赖","；只有在",[989,1938,1939],{},"目标不存在","时，",[994,1942,1919],{"code":1919}," 才会变成“整个依赖列表”。",[978,1945,1946],{"id":1946},"touch",[983,1948,1949],{},[986,1950,1951,1954],{},[994,1952,1953],{"code":1953},"touch filename",[983,1955,1956,1959],{},[986,1957,1958],{},"实现 remake，update the access and modification times of each file to the current time",[986,1960,1961],{},"touch 文件后会更新时间，就可以重新触发 makefile",[978,1963,1965],{"id":1964},"source-code-version-control-git","Source Code Version Control - git",[983,1967,1968,1981,2015,2025,2052,2069,2089,2116],{},[986,1969,1970,1973],{},[994,1971,1972],{"code":1972},"git init",[983,1974,1975,1978],{},[986,1976,1977],{},"初始化 git 目录后，当前目录就会成为本地仓库",[986,1979,1980],{},"可以使用命令将新建文件添加到本地仓库",[986,1982,1983,1986,1987,1990],{},[994,1984,1985],{"code":1985},"git add"," \u002F ",[994,1988,1989],{"code":1989},"git commit",[983,1991,1992,1995,2006,2012],{},[986,1993,1994],{},"add 将文件添加到缓存区，commit 用于提交到本地仓库",[986,1996,1997,1998,2001,2002,2005],{},"如创建 ",[994,1999,2000],{"code":2000},"test.txt"," 后，可以 ",[994,2003,2004],{"code":2004},"git add test.txt"," 将文件添加到本地仓库缓存",[986,2007,2008,2009,2011],{},"但是这还不算添加到本地仓库，需使用 ",[994,2010,1989],{"code":1989}," 才能将其最终提交",[986,2013,2014],{},"关于仓库和缓存区，将马上在后面阐述",[986,2016,2017,2020],{},[994,2018,2019],{"code":2019},"git log",[983,2021,2022],{},[986,2023,2024],{},"log 用于查看日志",[986,2026,2027,2028],{},"git 基本组成框架：Workspace、Index \u002F Stage、Repository、Remote\n",[983,2029,2030,2033,2046,2049],{},[986,2031,2032],{},"Workspace：开发者工作区，也就是当前写代码的目录",[986,2034,2035,2036,2038,2039,2042,2043,2045],{},"Index：暂存区\u002F缓存区。它用来存放临时动作，比如我们做了 ",[994,2037,1985],{"code":1985}," 或者 ",[994,2040,2041],{"code":2041},"git rm","，都是把文件提交到缓存区，这是可以撤销的，然后再通过 ",[994,2044,1989],{"code":1989}," 将缓存区的内容提交到本地仓库",[986,2047,2048],{},"Repository：仓库区（或本地仓库）是仓库代码，所有的提交都在这里，git 会保存好每一个历史版本，存放在仓库区",[986,2050,2051],{},"Remote：远程仓库，即服务器仓库",[986,2053,2054,1130,2057,2060],{},[994,2055,2056],{"code":2056},"git remote add origin",[994,2058,2059],{"code":2059},"\u003Cremote-url>",[983,2061,2062],{},[986,2063,2064,2065,2068],{},"该命令可以把 github 本地仓库关联到远程仓库，",[994,2066,2067],{"code":2067},"origin"," 是 github 上的仓库名称，意思是远程仓库的意思",[986,2070,2071,2072,1986,2075,2078],{},"git 将远仓库代码拉取到本地：",[994,2073,2074],{"code":2074},"git clone",[994,2076,2077],{"code":2077},"git pull",[983,2079,2080,2086],{},[986,2081,2082,2083,2085],{},"当我们远程有仓库时，想要关联到本地只需要使用 ",[994,2084,2074],{"code":2074}," 就可以了",[986,2087,2088],{},"pull 也是一样的，两个的略微区别在最后会阐述",[986,2090,2091,2092,2094,2095,2094,2097,2100],{},"github 提交本地代码到远程仓库：",[994,2093,1985],{"code":1985},"、",[994,2096,1989],{"code":1989},[994,2098,2099],{"code":2099},"git push",[983,2101,2102],{},[986,2103,2104,2105,2107,2108,2111,2112,2115],{},"修改了本地代码后，使用 ",[994,2106,1985],{"code":1985}," 提交到缓存区，再使用 ",[994,2109,2110],{"code":2110},"commit"," 提交到本地仓库，最后使用 ",[994,2113,2114],{"code":2114},"push"," 推送到远程就可以了",[986,2117,2118,2119],{},"git 各种操作总结\n",[983,2120,2121,2124,2127,2142,2149,2152],{},[986,2122,2123],{},"add 将文件添加到缓存区",[986,2125,2126],{},"commit 用于提交到本地仓库",[986,2128,2129,2132,2133,2136,2137,2139,2140],{},[994,2130,2131],{"code":2131},"commit -a","：加了 ",[994,2134,2135],{"code":2135},"-a","，在 commit 的时候，能帮你省一步 ",[994,2138,1985],{"code":1985},"，但也只是对修改和删除文件有效，新文件还是要 ",[994,2141,1985],{"code":1985},[986,2143,2144,2145,2148],{},"pull ",[989,2146,2147],{},"必须连接远程仓库才能用","，有权限时可以下载完整代码",[986,2150,2151],{},"push 推送到远程。pull 完后及时 push，才能保证两次 pull 互不干扰",[986,2153,2154,2155,2158],{},"clone：",[989,2156,2157],{},"没有权限的仓库","，也可以获得代码",[2160,2161,2163],"h2",{"id":2162},"perl","Perl",{"title":1736,"searchDepth":2165,"depth":2165,"links":2166},4,[2167,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180],{"id":980,"depth":2168,"text":981},3,{"id":1160,"depth":2168,"text":1161},{"id":1265,"depth":2168,"text":1266},{"id":1503,"depth":2168,"text":1504},{"id":1572,"depth":2168,"text":1573},{"id":1656,"depth":2168,"text":1657},{"id":1709,"depth":2168,"text":1710},{"id":1744,"depth":2168,"text":1745},{"id":1777,"depth":2168,"text":1778},{"id":1877,"depth":2168,"text":1878},{"id":1946,"depth":2168,"text":1946},{"id":1964,"depth":2168,"text":1965},{"id":2162,"depth":2181,"text":2163},2,[903],"系统开发工具","md",null,{"slots":2187},{},{"text":387,"minutes":537,"time":538,"words":539},{"title":534,"description":2183},{"loc":533,"images":2191},[2192],{"loc":1157},[2194,2195],"Linux","课程笔记","tech","nwtbXihZLoABMgPDPen1VA1etHXKOsGSJYy1M4u4KAo",[2199,2200],{"title":525,"path":524,"stem":523,"date":526,"type":2196,"children":-1},{"title":360,"path":359,"stem":358,"date":361,"type":2196,"children":-1},1789057276506]