- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
运动控制卡应用编程技巧
内容来源网络,由“深圳机械展(11万㎡,1100多家展商,超10万观众)”收集整理!
更多cnc加工中心、车铣磨钻床、线切割、数控刀具工具、工业机器人、非标自动化、数字化无人工厂、精密
测量、3D打印、激光切割、钣金冲压折弯、精密零件加工等展示,就在深圳机械展.
关于源代码的阅读,需要读者有一定的C++编程基础,至少对以下表示形式不会产生误解:?
constchar*pString;//指定pString邦定的数据不能被修改?
char*constpString;//指定pString的地址不能被修改?
constchar*constpString;//含上面两种指定功能?
当然,随便提醒一下,这些源代码若需要加入你的软件工程当中,还需要作一些调整和修改,因此,这些源代码
实质上称为伪代码也可以,之所以展现它们,是让程序员们有个可视化的快感,特别是那些认为源代码就是一切
的程序员。
同时,为了提高针对性,大部分控制卡调用的函数会明确指出是邦定哪些卡的,实际应用时,程序员可自行选择,
以体现一下自己的智商是可以写写软件的。
一、控制卡类的单一实例实现?
把控制卡类作一个类来处理,几乎所有C++程序员都为举双手表示赞同,故第一个什么都没有的伪代码就此产
生,如下表现:
classCCtrlCard?
{?
public:?
…Function?
public:?
…attrib?
}
于是,用这个CctrlCard可以产生n多个控制卡实例,只要内存足够。然而,针对现实世界,情况并不那么美好。
通常情况下,PC机内只插同种类型的控制卡1到2张,在通过调用d1000_board_init或d3000_board_init
函数时,它们会负责返回有效卡数nCards,然后从0-nCards*4?
-1自行按排好轴数。初始化函数就是C++的new或malloc的操作,取得系统的资源,但是控制卡的资源与内
存不一样,取得资源后必需要释放才可以再次获取,即控制卡资源是唯一的。
既然控制卡资源是唯一的,那么最好Cctrlcard产生的实例也是唯一的,这样,我们可以方便的需要定义一个全
局变量即可:?
CctrlCardg_Dmcard;?
在其它需要调用的地方,进行外部呼叫:?
externCctrlCardg_DmcCard;
以上方法实在太简单了,很多人都会开心起来。实质上,方法还有很多,即然可以产生n多对实例,我们的核
心是只要保证调用board_init函数一次即可,故也可以单独定义一个
InitBoard函数:
classCctrlCard?
{?
public:?
staticintInitBoard();//定义一个静态函数,以表警示
}?
intCctrlCard::InitBoard()?
{?
returnd1000_board_init();?
}
还有一种方法,情况稍加复杂,但表达的功能也要强一些,以下展现可以稍微安慰一下代码狂。
ClassCctrlCard?
{?
public:?
CctrlCard();//请注意这个构造函数的定义?
}
CctrlCard::CctrlCard()?
{//呵呵,也很明了?
staticintn(0);//注意,是个静态变量
n++;//每次调用CctrlCard生成实例时,都会计数一次?
assert(n==1);//在DEBUG版本下,只有n==1的情况下可以通过?
//否则,会出现致命错误,还好,它会告诉你错在哪个文件,?
//哪一行,呵呵,是个好东东啊。?
}?
通过强行报警处理,当你有g_DmcCard这个实例时,其它的所有控制卡的定义都只能是以引用或指针的方式进
行了,不会再产生新有效的实例了,对于由小组编程的项目软件,而你又恰好负责编程控制卡这一块的话,以上
的显性报警,会让其它人心领神会。当然,你也可以将上面的方法加入到InitBoard当中去,可以避你的无意识
的多次调用了。
附:无意识的多次调用经常发生,特别是那些对MFC机制不明确的程序员,在多文档框架下,不知道这个
CctrlCar
您可能关注的文档
- 部编版小学三年级道德与法治上册第二单元我们的学校单元检测试题(含答案).pdf
- 邵阳学院教师课程教学考核实施办法.pdf
- 遗体告别仪式议程.pdf
- 道路桥梁专业实习周记5篇.pdf
- 道德与法治《传统美德 源远流长》说课稿五年级上册.pdf
- 辽宁省普通高等学校本科教学工作审核评估工作指南【模板】.pdf
- 起重工培训考试试题与答案.pdf
- 质保期承诺书(精选12篇).pdf
- 财务部门精细化管理(最终版).pdf
- 计量规程规范 JJF 2123-2024锁相放大器校准规范.pdf
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
最近下载
- 救护队预防性检查.ppt
- 新型轻钢装配式复合墙板.pdf VIP
- 2023-2024学年陕西省西安市雁塔区数学三年级第一学期期末考试试题含答案.doc
- 酚醛树脂1.ppt
- 2022-2023年度武汉规划展示馆与两型社会展示馆定稿.pdf VIP
- 煤矿地质学培训教材.pdf
- BS ISO 4864-2023 Ships and marine technology. Jacking system appliances on self-elevating 船舶和船舶技术. 自升式顶升系统设备.pdf
- 【提分专项】闽教版英语小升初总复习-语法部分(B卷有答案).docx VIP
- 空压机工作原理及技术方案.docx
- 人教版(2023版)初中历史八年级上册全册同步练习+单元及期中期末测试合集(含答案)【可编辑可打印】.docx
文档评论(0)