程序开发
Aeriala
毕业于北京邮电大学信息与通信工程学院,近10年工作经验。专注于自动化控制,数字化生产等相关的控制算法开发,深度参与工业机器人控制器开发和机器人应用开发项目。掌握的开发语言包括C++, python等,另外对于PLC、TIA等有丰富的实践经验。
展开
-
qt实现国际化方法与步骤
在开发qt界面时,经常面临支持多语言的情况,而实现多语言的方法中最有效的就是使用QT提供的国际化机制,只要遵循固定的模式,还是比较容易实现的。这篇文章就给出了具体的步骤,和运行效果。原创 2023-05-05 18:00:54 · 563 阅读 · 0 评论 -
区别malloc与calloc
在使用动态分配内存函数时往往不只有一种选择,每一种选择都有各自的优缺点和适用的场景,性能上差异也是选择的一个考虑因素。本文对malloc和calloc依次从安全性和性能方面做了对比分析,并给出了用于对比性能的测试代码,最后提供了对比结果,以供参考。原创 2022-10-12 10:46:03 · 14086 阅读 · 2 评论 -
一种高度优化的更新值互斥的多个变量的方法
问题背景假如有一组状态变量sta_1, sta_2, sta_3, ..., sta_m,分别表示一个系统的所有状态值sta_const_1, sta_const_2, sta_const_3,...,sta_const_m。 约束:其中任一时刻系统只能原子的处于其中的任一个状态常量值,不会发生两个状态同时并存的情况。 每个周期更新一次状态变量。传统方法 包装到switch...case语句中或者是if-elseif-else中,这样下来,真个程序看上去既冗长也比较碍眼。...原创 2020-07-06 16:18:50 · 199 阅读 · 0 评论 -
[Mendix]CE1568The selected page xxx expects an object of type of xxx which is not available
Mendix 学习到增加新记录时,实际的效果和教程的演示有不小的出入。教程是直接在Add按钮的右键菜单里创建增加新记录页面(generate on clickpage),而我的环境(如右)里右键菜单并没有这个选项。 教程所示右键菜单 实际环境右键菜单后来自己摸索了一边依然没有头绪,只好另寻它法。做法如下:1....原创 2020-06-28 12:11:44 · 693 阅读 · 0 评论 -
Mendix项目设置为Mendix Studio 和Mendix Studio Pro协作
背景介绍Mendix是既是一套低代码或零代码开发平台,同时也是一套完整的功能强大的工具,包括构思,开发,部署,运行。通过应用Mendix可以加快项目的开发进度和客户及时反馈在下一次迭代中得以改进,这得益于Mendix的可视化建模和agile敏捷开发理念。Mendix集成了软件的全生命周期管理所需的组件,包括设计,建模,开发,代码版本控制,部署,运行。尤其是在Mendix中集成了代码的版本管理工作,无需再花费额外的时间和精力去做这部分工作了。另外一个亮点就是一键部署,省去了多少繁琐的环节,比如制作安装原创 2020-05-19 11:19:50 · 2008 阅读 · 0 评论 -
[ROS]compile error: CMake Error at...Cannot add target-level dependencies to non-existent target....
Firstly, check the name of your cpp files and make sure they are the same as in the CMakeList.txt;secondly, make sure the right add_dependencies() call is used in the right place. If you have read ...原创 2018-08-14 16:02:50 · 4953 阅读 · 3 评论 -
自动编译VS解决方案时生成32位和64位版本
devenv /Rebuild "Debug|Win32" your_solution_name.slndevenv /Rebuild "Debug|X64" your_solution_name.slndevenv /Rebuild "Release|Win32" your_solution_name.slndevenv /Rebuild "Release|X64" your原创 2017-06-27 16:21:02 · 7924 阅读 · 0 评论 -
程序发布相关
打包工具:Enigma Virtual BoxFilePacker安装包制作工具:NSIS原创 2017-06-28 16:10:54 · 271 阅读 · 0 评论 -
字节对齐的几个问题
相信大家或多或少都会遇到字节对齐的情况,然而在不明就里的情况下,忽视字节对齐,就会导致数据乱作一团,而不得其解。这样的问题同样困扰过我,是在跨平台数据交换的时候遇到的。当然,同时还可能会有大小端(Big_Endian and Little_Endian)问题,在此且不谈及。通过查阅资料,才算略知其一。默认的字节对齐不一定适用于我们的应用环境,在这样的情景之下,我们需要显示指定字节对齐方原创 2017-06-07 16:01:07 · 478 阅读 · 0 评论 -
版本号管理知识
版本控制比较普遍的 3 种命名格式 :版本号GNU 风格版本号主版本号 . 子版本号 [. 修正版本号 build- [编译版本号 ]]英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]示例1:1.2示例2:1.2.0示例3:1.2.0 bui转载 2017-04-26 16:01:19 · 404 阅读 · 0 评论 -
VS 自动添加注释的代码运行时报: 未将对象引用设置到对象实例。
我在VS上实现给文件、类和函数自动添加注释的过程中,遇到一运行就报错误: 未将对象引用设置到对象实例。在网上搜了很久没有一个能解决我遇到的这个问题。再加上我对VS宏了解不多,所以刚开始没有从代码逻辑上找原因。 最后,我就把能用的宏的源码拷过来,发现能用,然后就一步一步定位,终于找到问题的根源了。原来是少了下面这一句:DocSel= DTE.ActiveDocument.Selectio原创 2017-03-15 15:36:25 · 613 阅读 · 0 评论 -
[学习][Vim]行号的显示与隐藏
显示行号输入命令: set nu或者 set number取消显示行号命令: set nonu或者 set nonumber原创 2017-03-15 14:18:01 · 68226 阅读 · 1 评论 -
如何做到深思熟虑的编程
声明: 以下内容摘自《程序员修炼之道-从小工到专家》什么是声明靠巧合编程实现的偶然语境的偶然隐含的假定怎样深思熟虑编总是一是到你在做什么不要盲目的编程按照计划行事依靠可靠的事务为你的假定建立文档“按合约编程”不要只是测试你的代码还要测试你的假定为你的工作划分优先级不要做历史的奴隶转载 2017-03-22 11:29:53 · 407 阅读 · 0 评论 -
耦合
保持灵活的一种好办法是少写代码在时间耦合中: 是否依赖于先于“嗒”的“嘀”?创建灵活代码的一个关键概念是数据模型(Model)与该模型的视图(View)的分离,实现解耦另一种解耦技术是提供一个“聚会地点”各模块可以在那里匿名和一部地交换数据。即黑板得墨忒耳法则: 使模块之间的耦合减少到最小摸个对象的任何方法都应该只调用属于以下情形的方法:他自身传入该方法的任何参数他创建转载 2017-03-21 08:40:02 · 322 阅读 · 0 评论 -
Python学习笔记
本来是仿照书上的习题,做了一个变换,得到以下程序:#!/usr/bin/env pythonwhile True: x = input('the result of 1 + 2 * 4:') #print(type(x)) if int(x)==(1 + 2 * 4) : print('Congratulations!')原创 2016-05-20 22:46:08 · 313 阅读 · 0 评论