RPG 学习 一 基本
先看实例,下面是 JM 大神 RPG 第一讲 的例程
再来从实际银行系统角度看,来认识一下实际 RPG 程序差别
http://www.jaymoseley.com/hercules/rpgtutor/rpg004.htm
VIEW IBMUSER.SOURCE.PROGRAM(RPG00001) - 01.02 Columns 00001 00080
Command ===> Scroll ===> CSR
****** ********************************* Top of Data **********************************
000001 //RPG00001 JOB ,'RPG00001',CLASS=A,MSGLEVEL=(1,1),REGION=512K,
000002 // NOTIFY=&SYSUID
000003 //PROCLIB JCLLIB ORDER=SYSC.PROCLIB
000004 //* COMPILE LINK AND RUN RPG
000005 //RPGCLG EXEC RPGECLG,COND.LKED=(9,LT,RPG)
000006 //STEPLIB DD DSN=SYSC.LINKLIB,DISP=SHR
000007 //RPG.SYSUT3 DD UNIT=SYSDA
000008 //RPG.SYSUT2 DD UNIT=SYSDA
000009 //RPG.SYSUT1 DD UNIT=SYSDA
000010 //RPG.SYSGO DD UNIT=SYSDA
000011 //RPG.SYSIN DD *
000012 H
000013 H*
000014 H* READ ADDRESS CARDS AND PRINT ADDRESS LIST
000015 H*
000016 FINCARDS IPE F 80 80 READ40
000017 FOUTLIST O F 132 132 OF LPRINTER
000018 LOUTLIST 0010106012
000019 IINCARDS AA 01
000020 I 1 25 NAME
000021 I 26 50 ADDR1
000022 I 51 75 ADDR2
000023 OOUTLIST H 201 1P
000024 O OR OF
000025 O PAGE Z 40
000026 O 36 'PAGE'
000027 O 23 'ADDRESS LIST'
000028 O UDATE 8 ' 0/ / '
000029 O D 1 01
000030 O NAME 30
000031 O D 1 01
000032 O ADDR1 30
000033 O D 2 01
000034 O ADDR2 30
000035 O T 3 01 LR
000036 O 24 '*** END OF LIST ***'
000037 /*
000038 //GO.SYSUDUMP DD SYSOUT=A
000039 //GO.INCARDS DD *
000040 MICHELLE COOK 9561 BAYVIEW STREET BALDWIN, MO 63022
000041 PATTY JENNINGS 806 JACKSON STREET VALPARAISO, IN 46383
000042 RICHARD SMITH 279 PARKER BLVD NASHAU, NH 03060
000043 DUNCAN POWERS 9496 BAYVIEW STREET BUFFALO, NY 14225
000044 WILLIAM EUBANKS 736 FETLOCK AVENUE FALLS VILLAGE, CT 06031
- - - - - - - - - - - - - - - - - - - - - 41 Line(s) not Displayed
000086 JACOB SCHAEFER 8278 LINDENWOOD AVENU JUNEAU, AK 99801
000087 JARED HILLFORD 846 QUAIL AVENUE PHOENIX, AZ 85040
000088 CLIFF PARKER 674 BRANDYWINE AVENUE LAGO VISTA, TX 78645
000089 JOHN SCHAEFER 7210 PARSON COURT LA HABRA, CA 90631
000090 /*
000091 //GO.OUTLIST DD SYSOUT=A
000092 //*
****** ******************************** Bottom of Data ********************************
輸出
9/05/21 ADDRESS LIST PAGE 1MICHELLE COOK 9561 BAYVIEW STREET BALDWIN, MO 63022 PATTY JENNINGS 806 JACKSON STREET VALPARAISO, IN 46383 RICHARD SMITH 279 PARKER BLVD NASHAU, NH 03060 DUNCAN POWERS
...
首先,这个例程在干啥??
这个例程 读取一堆人名地址数据,每行一组,然后,输出为三行
这例程是一个集合编译连结和运行的 JOB
在主机里我们称这些 JCL 做 JOB,就像 Linux 的 .sh script 一样
JCL 就是 Job Control Language 工作控制语言
我们可以在主机里 Submit 这些 JOB 即提交给系统去执行
主机里面有个专门处理这些 JOB 的子系统或程序叫 JES Job Entry System 工作系统
JES 有不同版本,现在大多用 版本 JES2
把 JOB 写好了 Submit 提交给 JES2 它会把 JOB 里面的工作完成
然后,把结果输出到特定地方,我们去特定地方就可以找到相关输出或错误日志等等
这一步是呼叫 RPGECLG 来编译连接执行
000005 //RPGCLG EXEC RPGECLG,COND.LKED=(9,LT,RPG)
SYSC.PROCLIB 还有几个版本的 PROC 可以只编译不运,如下
VIEW SYSC.PROCLIB Row 00067 of 00084
Command ===> Scroll ===> CSR Name Prompt Size Created Changed ID
_________ RPGEC 12 1980/11/12 1980/11/12 18:18:00 JAY03
_________ RPGECL 22 1980/11/04 1980/11/12 18:18:00 JAY03
_________ RPGECLG 24 1980/11/12 1980/11/12 18:18:00 JAY03
_________ RPGELG 12 1980/11/12 1980/11/12 18:18:00 JAY03
_________ SBPASCAL 15 1980/11/10 1980/11/12 18:18:00 JAY03
这一步 SYSIN 是 定义 RPG 程序源代码,这个例程把源化码直接写在 JOB,实际工作时不这样做的
000011 //RPG.SYSIN DD *
000012 H
000013 H*
000014 H* READ ADDRESS CARDS AND PRINT ADDRESS LIST
000015 H*
000016 FINCARDS IPE F 80 80 READ40
000017 FOUTLIST O F 132 132 OF LPRINTER
000018 LOUTLIST 0010106012
000019 IINCARDS AA 01
000020 I 1 25 NAME
000021 I 26 50 ADDR1
000022 I 51 75 ADDR2
- - - - - - - - - - - - - - - - - - - - - 12 Line(s) not Displayed
000035 O T 3 01 LR
000036 O 24 '*** END OF LIST ***'
000037 /*
实际工作环境会把源码独立出来,例如放在 DAD001
000011 //RPG.SYSIN DD DISP=SHR,DSN=IBMUSER.SOURCE.PROGRAM(DAD001)
这一步是 INCARDS 是定义程序的输入数据,就像 Java 读一个外部文字档一样
这个例程也是直接写在 JOB 里,实际会放在独立档里 主机 把档叫 Dataset (Data set) 数据组
000038 //GO.SYSUDUMP DD SYSOUT=A
000039 //GO.INCARDS DD *
000040 MICHELLE COOK 9561 BAYVIEW STREET BALDWIN, MO 63022
000041 PATTY JENNINGS 806 JACKSON STREET VALPARAISO, IN 46383
000042 RICHARD SMITH 279 PARKER BLVD NASHAU, NH 03060
000043 DUNCAN POWERS 9496 BAYVIEW STREET BUFFALO, NY 14225
000044 WILLIAM EUBANKS 736 FETLOCK AVENUE FALLS VILLAGE, CT 06031
000045 SHIRLEY GARLAND 827 SHORE AVENUE GREENVILLE, SC 29616
- - - - - - - - - - - - - - - - - - - - - 41 Line(s) not Displayed
000087 JARED HILLFORD 846 QUAIL AVENUE PHOENIX, AZ 85040
000088 CLIFF PARKER 674 BRANDYWINE AVENUE LAGO VISTA, TX 78645
000089 JOHN SCHAEFER 7210 PARSON COURT LA HABRA, CA 90631
000090 /*
那先把 RPG 代码和输入档独立抽出来
代码 放到 IBMUSER.SOURCE.PROGRAM(DAD001)
VIEW IBMUSER.SOURCE.PROGRAM(DAD001) - 01.00 Columns 00001 00080
Command ===> Scroll ===> CSR
****** ********************************* Top of Data **********************************
000001 H
000002 H*
000003 H* READ ADDRESS CARDS AND PRINT ADDRESS LIST
000004 H*
000005 FINCARDS IPE F 80 80 READ40
000006 FOUTLIST O F 132 132 OF LPRINTER
000007 LOUTLIST 0010106012
000008 IINCARDS AA 01
000009 I 1 25 NAME
000010 I 26 50 ADDR1
000011 I 51 75 ADDR2
000012 OOUTLIST H 201 1P
000013 O OR OF
000014 O PAGE Z 40
000015 O 36 'PAGE'
000016 O 23 'ADDRESS LIST'
000017 O UDATE 8 ' 0/ / '
000018 O D 1 01
000019 O NAME 30
000020 O D 1 01
000021 O ADDR1 30
000022 O D 2 01
000023 O ADDR2 30
000024 O T 3 01 LR
000025 O 24 '*** END OF LIST ***'
****** ******************************** Bottom of Data ********************************
输入档 放到 Dataset IBMUSER.DAD.CUSTINFO
VIEW IBMUSER.DAD.CUSTINFO Columns 00001 00080
Command ===> Scroll ===> CSR
****** ********************************* Top of Data **********************************
000001 MICHELLE COOK 9561 BAYVIEW STREET BALDWIN, MO 63022
000002 PATTY JENNINGS 806 JACKSON STREET VALPARAISO, IN 46383
000003 RICHARD SMITH 279 PARKER BLVD NASHAU, NH 03060
000004 DUNCAN POWERS 9496 BAYVIEW STREET BUFFALO, NY 14225
000005 WILLIAM EUBANKS 736 FETLOCK AVENUE FALLS VILLAGE, CT 06031
000006 SHIRLEY GARLAND 827 SHORE AVENUE GREENVILLE, SC 29616
000007 JOAN FRANKLIN 4550 BIENVILLE CIRCLE KANSAS CITY, MO 64118
000008 ANDREW BLUME 2942 BAYVIEW AVENUE ROCHESTER, NY 03840
000009 ELIZABETH BOWERS 1023 SOUTHLAND STREET RIVERSIDE, NJ 08370
000010 DIANE HAMMOND 3732 BENSON CIRCLE FORT COLLINS, CO 80524
000011 LUCY ROSS 208 ALLEN PLACE EVERETT, WA 98204
000012 LISA ELISON 488 WESTRIDGE STREET SPARKS, NV 89431
000013 MATTHEW RIGHT 6267 BRIARGLEN PLACE CLEVELAND, OH 44104
000014 ZELDA BARBER 442 COLISEUM STREET ALBANY, NY 12206
000015 BRIAN HARMON 872 GRANT BLVD WICHITA, KS 67208
000016 NATHAN MCKAY 1184 JUNIPER CIRCLE HOUSTON, TX 77053
000017 LUCY JACOBY 144 MEADOW PLACE SPARKS, NV 89431
000018 SCOTT PARRISH 9387 A & M CIRCLE DES PLAINES, IL 60018
000019 CALVIN MULL 5924 TWILIGHT COURT SPARKS, NV 89431
000020 CYBIL NOELKE 6782 BRIDGE CIRCLE LAGO VISTA, TX 78645
000021 RUTH VANACKER 6021 BAYSHORE CIRCLE NEWPORT BEACH, CA 92663
000022 JARED BROCKTON 761 GARRETT AVENUE GREENVILLE, SC 29616
000023 MATTHEW JACKSON 4691 SHERWOOD STREET LA JOLLA, CA 92037
000024 CALVIN POWERS 867 ALLEN STREET SPRING, TX 77373
000025 SUE SMITH 9848 PLUM STREET PALM DESERT, CA 92211
000026 ARNOLD WEAVER 701 TWILIGHT ROAD KNOXVILLE, TN 37932
000027 KEVIN NORTON 5343 PARSON AVENUE JUNEAU, AK 99801
000028 SCOTT RENFRO 5418 ATOLL ROAD PASADENA, CA 91186
000029 ERNIE LABROIE 2913 BRANDYWINE CIRCL SAN ANGELO, TX 76903
000030 SHARON JACKSON 2934 ROSA LINDA AVENU NEW YORK, NY 10001
000031 PETER ALEXANDER 7444 ROBINHOOD ROAD NEW YORK, NY 10001
000032 SHARON EUBANKS 9619 JUNIPER ROAD SIOUX FALLS, SD 57112
000033 SHIRLEY ERICKSON 596 COLLEGE STREET GRAND RAPIDS, MN 55745
000034 ANN STUART 9581 DESERT STREET OKLAHOMA CITY, OK 73120
000035 SUE FONTAINE 2229 WESTRIDGE STREET SAN ANTONIO, TX 78216
000036 KEVIN COOK 3055 ROSA LINDA STREE DES PLAINES, IL 60018
000037 DIANE EUBANKS 4404 SOUTHLAND BLVD PRESCOTT, AZ 86314
000038 BOB JEFFERSON 542 KINGS RIDGE BLVD NEWPORT, RI 02840
000039 CRAIG LANDERS 6276 ELLIS STREET ANN ARBOR, MI 48107
000040 NELSON HORTON 3066 SHERWOOD ROAD NORWALK, CT 06854
000041 KEITH ERICKSON 227 BAYSHORE PLACE GREENVILLE, KY 42345
000042 RICHARD GOODWIN 294 RIDGEWAY ROAD OKLAHOMA CITY, OK 73120
000043 DANIEL ROBERTSON 379 ALTAVISTA CIRCLE EVERETT, WA 98204
000044 JOAN AUSTIN 203 EASTHAVEN STREET NEWPORT, RI 02840
000045 JARED MEEHAN 555 EDMUND CIRCLE EVERETT, WA 98204
000046 CRAIG STONE 6791 GUADLAUPE COURT WEST PALM BEACH, FL 33406
000047 JACOB SCHAEFER 8278 LINDENWOOD AVENU JUNEAU, AK 99801
000048 JARED HILLFORD 846 QUAIL AVENUE PHOENIX, AZ 85040
000049 CLIFF PARKER 674 BRANDYWINE AVENUE LAGO VISTA, TX 78645
000050 JOHN SCHAEFER 7210 PARSON COURT LA HABRA, CA 90631
****** ******************************** Bottom of Data ********************************
覆制一份 RPG00001 到 JCLLIB 为 RPGBLD01
- IBMUSER.SOURCE.PROGRAM(RPG00001)
- IBMUSER.ISPF.JCLLIB(RPGBLD01)
VIEW IBMUSER.ISPF.JCLLIB(RPGBLD01) - 01.09 Columns 00001 00080
Command ===> Scroll ===> CSR
****** ********************************* Top of Data **********************************
000001 //RPGBLD01 JOB ,'RPG BUILD',CLASS=C,MSGCLASS=S,MSGLEVEL=(1,1),
000002 // REGION=4096K,TIME=1440,COND=((4,LT)),NOTIFY=&SYSUID
000003 // !!! PLS DOUBLE CHECK AND REMARK THIS LINE TO SUBMIT
000004 //PROCLIB JCLLIB ORDER=SYSC.PROCLIB
000005 //* COMPILE LINK AND RUN RPG
000006 //RPGCLG EXEC RPGECLG,COND.LKED=(9,LT,RPG)
000007 //STEPLIB DD DSN=SYSC.LINKLIB,DISP=SHR
000008 //RPG.SYSPRINT DD SYSOUT=*
000009 //RPG.SYSPUNCH DD SYSOUT=*
000010 //LKED.SYSPRINT DD SYSOUT=*
000011 //RPG.SYSUT3 DD UNIT=SYSDA
000012 //RPG.SYSUT2 DD UNIT=SYSDA
000013 //RPG.SYSUT1 DD UNIT=SYSDA
000014 //RPG.SYSGO DD UNIT=SYSDA
000015 //RPG.SYSIN DD DISP=SHR,DSN=IBMUSER.SOURCE.PROGRAM(DAD001)
000016 //GO.SYSUDUMP DD SYSOUT=*
000017 //GO.INCARDS DD DISP=SHR,DSN=IBMUSER.DAD.CUSTINFO
000018 //GO.OUTLIST DD SYSOUT=*
000019 //*
****** ******************************** Bottom of Data ********************************
这样如果要编译其他 RPG 程序,只要改 SYSIN,INCARDS 和 OUTLIST 就可以
用时也修改了用的 CLASS,MSGCLASS
这个就像流水线,JES2 有不同的 CLASS 流水线
例如,某些流水线可以优先序高一点
可以在 SDSF 用 JC 查看
Display Filter View Print Options Help -----------------------------------------------------------------------------SDSF JOB CLASS DISPLAY ALL CLASSES LINE 1-38 (38) COMMAND INPUT ===> SCROLL ===> CSRPREFIX=** DEST=(ALL) OWNER=** SYSNAME= NP CLASS Status Mode Wait-Cnt Xeq-Cnt Hold-Cnt ODisp QHld HolA NOTHELD JES (HOLD,HOLD) NO NO B NOTHELD JES (HOLD,HOLD) NO NO C NOTHELD JES (HOLD,HOLD) NO NO D NOTHELD JES (HOLD,HOLD) NO NO E NOTHELD JES (HOLD,HOLD) NO NO F NOTHELD JES (HOLD,HOLD) NO NO G NOTHELD JES (HOLD,HOLD) NO NO H NOTHELD JES (HOLD,HOLD) NO NO I NOTHELD JES (HOLD,HOLD) NO NO J NOTHELD JES (HOLD,HOLD) NO NO K NOTHELD JES (HOLD,HOLD) NO NO L NOTHELD JES (HOLD,HOLD) NO NO M NOTHELD JES (HOLD,HOLD) NO NO N NOTHELD JES (HOLD,HOLD) NO NO O NOTHELD JES (HOLD,HOLD) NO NO P NOTHELD JES (HOLD,HOLD) NO NO Q NOTHELD JES (HOLD,HOLD) NO NO R NOTHELD JES (HOLD,HOLD) NO NO S NOTHELD JES (HOLD,HOLD) NO NO STC 31 (PURGE,HOLD) T NOTHELD JES (HOLD,HOLD) NO NO TSU 1 (PURGE,HOLD) U NOTHELD JES (HOLD,HOLD) NO NO V NOTHELD JES (HOLD,HOLD) NO NO W NOTHELD JES (HOLD,HOLD) NO NO X NOTHELD JES (HOLD,HOLD) NO NO Y NOTHELD JES (HOLD,HOLD) NO NO Z NOTHELD JES (HOLD,HOLD) NO NO 0 NOTHELD JES (HOLD,HOLD) NO NO 1 NOTHELD JES (HOLD,HOLD) NO NO 2 NOTHELD JES (HOLD,HOLD) NO NO 3 NOTHELD JES (HOLD,HOLD) NO NO 4 NOTHELD JES (HOLD,HOLD) NO NO 5 NOTHELD JES (HOLD,HOLD) NO NO 6 NOTHELD JES (HOLD,HOLD) NO NO 7 NOTHELD JES (HOLD,HOLD) NO NO 8 NOTHELD JES (HOLD,HOLD) NO NO 9 NOTHELD JES (HOLD,HOLD) NO NO
最后,来看看 RPG 长甚么样的
这里把 JM 大神的 例程 1 提取并改名为 DAD001
在主机里档名一般最大 8 位 SSMNNNNN
SS 通常用来代表这个程属于那个业务系统
例如: DA 存款系统 (Deposit),LN 按揭抵押系统 (Loans),TD 定期系统 (Time Deposit),IM 汇入系统 (Import),EX 汇出系统 (Export),FX 外汇系统 (Foreign Exchange) 等等
M 通常代表 Mode 模式
例如: M 每月才运行的程序,D 每日,Y 年,H 半年,W 周 等等
JOB 和 Dataset 名字也会采用相似命名方式
NNNNN 程序编号,001,00001,这样,一般只用代号
RPG 程序语言是非常接近汇编语言的
程序结构像写规范文档一样,例如下面 (Column 6 的字来标示)
- H Header 档头规范
- F File 档案规范
- I Input 输入档格式规范
- O Output 输出档格式规范
还有重点的
- C Code 代码规范 (这个例程没用到代码,将来其他笔记再聊)
VIEW IBMUSER.SOURCE.PROGRAM(DAD001) - 01.00 Columns 00001 00080
Command ===> Scroll ===> CSR
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
****** ********************************* Top of Data **********************************
000001 H
000002 H*
000003 H* READ ADDRESS CARDS AND PRINT ADDRESS LIST
000004 H*
000005 FINCARDS IPE F 80 80 READ40
000006 FOUTLIST O F 132 132 OF LPRINTER
000007 LOUTLIST 0010106012
000008 IINCARDS AA 01
000009 I 1 25 NAME
000010 I 26 50 ADDR1
000011 I 51 75 ADDR2
000012 OOUTLIST H 201 1P
000013 O OR OF
000014 O PAGE Z 40
000015 O 36 'PAGE'
000016 O 23 'ADDRESS LIST'
000017 O UDATE 8 ' 0/ / '
000018 O D 1 01
000019 O NAME 30
000020 O D 1 01
000021 O ADDR1 30
000022 O D 2 01
000023 O ADDR2 30
000024 O T 3 01 LR
000025 O 24 '*** END OF LIST ***'
只要把规范填写好,编译后,程序就会按既定运行方式处理资料
这就是古老的 RPG 程序
RPG 学习 一 基本相关推荐
- RPG学习笔记三(PF文件导入,RPGLE文件导出)
在运行时打入cmd命令,进入Dos状态下. >ftp >open IP(AS400的IP地址) >输入用户名 >输入密码 >quote type b 1 >put ...
- Git 和 GitHub 教程——版本控制入门
大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...
- 学习在Unity中创建一个动作RPG游戏
游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...
- Unity完全学习教程-从初学者到C#中的RPG游戏开发
打造3款游戏&学习Unity实用方式!从基础开始,以一个RPG游戏结束.使用Unity 2020和C# 你会学到: 通过创建酷游戏的实用方法 游戏开发的基础和核心概念 创建一个拥有大量功能的角 ...
- 学习RPG Maker MZ开发创建并发布PC和移动端游戏
Complete RPG Maker MZ: Create and Publish for PC and Mobile 完整的RPG制造商MZ:为个人电脑和移动设备创建和发布 MP4 |视频:h264 ...
- Unity学习笔记3 简易2D横版RPG游戏制作(三)
这一篇本来应该是在上一篇后面直接补进去的.不过因为排版的问题.所以我就另开一篇来整理了,好了,废话不多说,马上整理: 十八.关卡的锁定与解锁 前面我们已经解决了在游戏开始时可以选择关卡的问题,接下来我 ...
- Unity学习笔记2 简易2D横版RPG游戏制作(二)
十二.敌人受攻击时的闪烁和Player的生命值的修正 上一篇中,我们利用Controller2D中的IEnumerator TakenDamage接口,使得我们的Player受到攻击时会进行闪烁,我们 ...
- RPG游戏Demo学习笔记一
导航 RPG游戏Demo学习笔记一 UE笔记 -- 一个简单的AI_weixin_52918492的博客-CSDN博客 目录 一.准备资源 二.基础功能 生命值与能量值 创建Widget Bluepr ...
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...
最新文章
- 任务栏窗口和状态图标的闪动 z
- C语言解释器的实现--存储结构(一)
- 工作381-兼容移动端头部
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第10篇]RSA和强RSA问题有什么区别
- C语言的参数传递原理解析(值传递)
- 儿子获奖发明和父亲研究所成果高度相似,还不止一个
- linux计划任务案例,Linux计划任务Crontab学习笔记(5):常见错误使用案例
- maven 安装后变成 mvn 不是内部命令解决方法
- 给机器人罗宾写一封英语回信_近10年高考英语书面表达真题及范文大汇总! 把握高考命题新趋势!...
- python中函数的参数传递
- SqlDataAdapter的增加,删除,修改
- MAC 用配置设置解决vscode中文乱码问题
- oc引导windows蓝屏_使用Opencore引导ubuntu以及Linux的步骤
- C语言将十进制输出二进制、八进制、十六进制的方法总结
- 二进制文件操作-存储与读取
- 桂电深信服CTF之MSC真假压缩包
- xlwt/xlrd库的区别
- 数据库学习笔记04——关系数据库2
- Python.习题五 列表与元组(下)
- 车用总线 | CAN XL最新技术的CiA官方解答
热门文章
- 登顶 GitHub 趋势榜,标星1.8k:200 行 JS 代码让画面人物瞬间消失!
- 国际顶级学界和工业界大咖云集、AIoT 实训营,你不可错过的嵌入式 AI 盛会!...
- 百度近五年最年轻高管团队出炉,能否“翻盘”成功?
- V 语言强势登顶 GitHub TOP1,欲取 Go 而代之?
- 为了完成月入三万的目标,我都做了哪些准备?
- GitHub 被微软收购后的 52 天,改版并放弃了 jQuery !
- 周鸿祎在人民日报撰文,呼吁推行网络安全大战略
- 网络编程之 创建多个子进程,避免踩坑。
- ios无痕埋点_掌握数据生命周期:初识数据埋点
- mesh threejs 属性_ThreeJS拖动案例解析