c++
文章平均质量分 74
leon_zeng0
从事激光领域软件开发,三维内雕软件,3d 打印机软件, 运动控制器,通讯,c, c++, verilog,fpga
技术移民加拿大,往返于多伦多和中国之间
喜欢旅游,游泳,徒步,自驾游,独轮平衡车,滑冰,单板滑雪
展开
-
visual studio 下的git
介绍visual studio 下git 用法这个是看视频笔记 YouTube :https://www.youtube.com/watch?v=gkDASVE_Hdg主要内容是:建立git 库, 保存commit, 建立分支 create branch, 合并分支merge branch,比较 diff,Revert ,history,delete branch, rename branch, tips and tricks uncommited file本文不介绍github,先在vs原创 2023-11-25 03:16:00 · 1548 阅读 · 0 评论 -
mfc 下的OpenGL
建立一个SDI 的MFC工程,然后按一文设置好include lib 路径利用class wizard 建立几个message:Resize 可以参考下面代码,设置立体图,上面代码只是正面的平面图。glOtho2D 参看。原创 2023-11-05 11:35:55 · 808 阅读 · 0 评论 -
一个简单的opengl 程序
在freeglut 在mfc 下的编译_leon_zeng0的博客-CSDN博客后想做一个简单的opengl 程序测试一下,发现也不容易。完成后贴在这里:这个在visual studio 2019 下编译运行。路径设置好才能成功编译,可以参照上文设置环境。原创 2023-11-04 10:26:45 · 205 阅读 · 0 评论 -
c/c++ 的高精度时间函数计算
为了定时精度或者程序性能优化,我们需要精度比较高的时间函数,本文结束c,c++的精确定时函数。原创 2023-05-06 05:45:14 · 398 阅读 · 0 评论 -
Win10+VS2019+Qt5.15.2下编译QCAD
介绍visual studio 2019 下编译QCAD原创 2023-02-21 10:26:02 · 861 阅读 · 1 评论 -
QT的下载和安装
这里介绍的是QT官方方式下载,每次都让我很糊涂,就记载一下QT的下载和安装。原创 2023-02-17 11:15:51 · 1063 阅读 · 0 评论 -
Visual Studio 项目属性配置中的宏参数变量
在我的Visual Studio 2019 打开项目,然后要修改项目属性的配置,会发现很多宏变量(Macro),比如:$(VC_IncludePath)。本文介绍怎么查看这些宏变量。原创 2023-02-16 12:26:56 · 1988 阅读 · 0 评论 -
visual studio 改变界面语言
更改visual studio 的界面语言,方便看视频学习原创 2023-02-16 01:30:39 · 5600 阅读 · 0 评论 -
解决VS中的 “ 无法启动程序,系统找不到指定文件 “ 问题
VS中的 " 无法启动程序,系统找不到指定文件 " 问题原创 2023-01-21 13:10:43 · 50476 阅读 · 15 评论 -
freeglut 在mfc 下的编译
介绍opengl 的扩展库 freeglut 的编译原创 2023-01-21 05:41:23 · 719 阅读 · 0 评论 -
ROS应用开发入门 roslaunch 的使用
ROS是机器人操作系统的简称,本文介绍ROS应用开发入门,roslaunch 的使用。没有roslaunch, 我们需要打开很多终端,启动roscore, 各个节点等等。对于ros 的开发者或用户,roslaunch 都是非常重要的工具。roslaunch是一个工具,可轻松启动多个在本地和远程(通过SSH)ROS节点,以及在参数服务器上设置参数。 它包括自动重生已经死掉的进程的选项。 roslaunch接收一个或多个XML配置文件(扩展名为.launch),这些文件指定要设置的参数和要启动的节点以及应在原创 2021-03-23 13:35:12 · 1370 阅读 · 0 评论 -
ROS应用开发入门 tf 坐标系广播与监听的编程
测试比较复杂,要打开6个终端。并一次运行下面指令:roscorerosrun turtlesim turtlesim_noderosrun learning_tf turtle_tf_broadcaster __name:=turtle1_tf_broadcaster /turtle1rosrun learning_tf turtle_tf_broadcaster __name:=turtle2_tf_broadcaster /turtle2rosrun learning_tf...原创 2021-03-22 06:06:00 · 458 阅读 · 0 评论 -
ROS应用开发入门 服务数据的定义和使用
ROS是机器人操作系统的简称,本文介绍ROS应用开发入门,服务数据的定义和使用。客户端和服务端之间通讯都使用服务数据(service data)。本文先定义一个服务数据,编译成功后,用一个服务端和一个客户端进行验证,客户端也可以直接用rosservice call,这样客户端不用程序。测试验证先是c++代码,然后是python 代码,你也可选择只看一种你熟悉的。自定义通讯数据在工程包目录下新建一个目录srvcd~/catkin_ws/src/learning_servicemkdir s..原创 2021-03-19 08:56:15 · 438 阅读 · 0 评论 -
ROS 应用开发入门 服务端Server的编程
ROS是机器人操作系统的简称,本文介绍ROS应用开发,服务端Server的编程。程序的功能是通过ROS的服务调用功能调用本服务。本服务被调用后发布命令让小乌龟转圆圈,以后再调用就是乒乓功能,停止或开始乌龟转圆圈。先是c++代码,然后是python 代码,你也可选择只看一种你熟悉的。功能包建立本文是ROS 应用开发入门 客户端Client的编程的继续,如果你在那文建立了功能包,这里就不用了,直接跳过本节。在ROS 开发应用准备:创建工作空间一文中建立了ROS工作空间,现在就建立一个功能包:...原创 2021-03-19 04:02:22 · 393 阅读 · 0 评论 -
ROS 应用开发入门 客户端Client的编程
ROS是机器人操作系统的简称,本文介绍ROS应用开发,客户端Client的编程。程序的功能是用代码创建一个仿真小乌龟。先是c++代码,然后是python 代码,你也可选择只看一种你熟悉的。功能包建立在ROS 开发应用准备:创建工作空间一文中建立了ROS工作空间,现在就建立一个功能包:cd~/catkin_ws/srccatkin_create_pkglearning_service std_msgs roscpp rospy geometry_msgs turtlesim第1行...原创 2021-03-19 02:23:56 · 465 阅读 · 0 评论 -
树莓派上安装 ROS Kinetic
ROS系统对Ubuntu系统最友好,好像可以直接安装一样,但我找不到可用的,只好在树莓派的原生系统Raspbian上安装和使用ROS系统。我测试的树莓派是 3B, 1G内存,我要去买个4B 8G的。准备当然首先是按照raspberry PI 的要求安装好派的系统,并正常运行。如果没有,去https://www.raspberrypi.org/software/。有个中文教程强调一定要装好opencv,我也就照办了,树莓派上安装python 的 opencv(非编译方式)。官方的教程没看到这个要.原创 2021-03-08 06:28:44 · 1959 阅读 · 0 评论 -
VS2017/19下FreeCAD v0.18和0.19 源码编译
本文介绍windows 下用vs2017 2019 编译 FreeCad 0.18。在我写这文章的时候,0.19 版本发行了,我用本文介绍的方法,也完成编译并运行了0.19版本,编译中的错误也一样,居然没有更正过来。前提准备我是windows 10 (安装要求是windows 7以上),电脑上安装了visual studio 2017, 其实visual studio 2019 可能更好。据说0.18 版本是vs2013 版上开发的,那样的话,就用官方的文档更合适:https://wiki.fre.原创 2021-02-28 05:29:51 · 2393 阅读 · 2 评论 -
Visual studio的中英文切换
我们用visual studio , 有不同语言的版本。其实不同语言可以互相切换。中文版去英文版是这样的:打开vs菜单中的工具->选项区域设置点击语言选择 然后选择英文 点击切换英文版去中文版是:Tools-> OptionInternational settings 然后在右边的language指定语言,或者选择与microsoft Windows:没有你想要的语言,那就要安装。那有提示:please use visual studio insta...原创 2021-02-24 12:31:43 · 5885 阅读 · 0 评论 -
4 种排序算法的C 代码实现
本文用C 实现4种排序算法:冒泡排序(buble sort),选择排序(selection sort),插入排序(insertion sort),合并排序(merge sort).本文是动画讲解4种排序算法的继续,如果对4种排序算法不是很清楚,可以回过头看看。先把代码放上:#include <stdio.h>// Prints all the elements in an array on one line.void print_array(int array[], int.原创 2021-01-31 01:55:24 · 345 阅读 · 0 评论 -
动画讲解4种排序算法
本文用动画的方式讲解4种排序算法,这四种算法是 冒泡排序(buble sort),选择排序(selection sort),插入排序(insertion sort),合并排序(merge sort).冒泡排序(buble sort)冒泡排序,从左到右两两比较,左边大就交换,比较一轮后,当轮最右是最大,下轮就不参与排序了。图例是:65318724->12345678。选择排序(selection sort)选择排序,从左到右,选择最小值和他的位置,一轮之后,最小值和当轮最左的交换(不原创 2021-01-30 05:35:38 · 404 阅读 · 0 评论 -
VSCode 同时调试2个或多个程序
在上文:VS Code 在Linux下IDE开发C++的HelloWorld中介绍了VS Code 的基本调试,但那只是一个应用。在开发客户服务程序,或通讯程序中,有必要同时调试2个或多个程序,这就是本文要介绍的内容。本文参考学习链接:https://code.visualstudio.com/docs/editor/debugging#_compound-launch-configurations本文采用的2个代码例子来自:linux, petalinux 下的udp 通讯实验,2个非常简单.原创 2020-07-19 06:58:20 · 18758 阅读 · 1 评论 -
ZYNQ 7000 AMP模式双裸核运行 双方共享内存交互
本文是zynq 7000 AMP模式 双裸核CPU同时运行的继续。本文主要是上文的基础上增加通过共享内存的方式,演示2个裸核的交互。共享内存前先看看内存地址分布,这个图取自 ug585 4.1 节 address map 的表4-1本文定义OCM 为共享内存,地址为0xffff_0000。在2个文件的头部都这样定义共享内存#include "xil_mmu.h"#define COM_VAL (*(volatile unsigned int*)(0xffff0000))#d...原创 2020-07-01 10:14:55 · 4575 阅读 · 0 评论 -
在 Ubuntu 系统中安装多版本 GCC 编译器
学习链接:https://www.sysgeek.cn/ubuntu-install-gcc-compiler/amp/VMware中调整虚拟机窗口,铺满全屏幕 安装vmwaretools 点击:查看 —— 自动调整大小 —— 自动适应客户机 在Ubuntu 18.04中安装GCC编译器默认的 Ubuntu 存储库中包含一个名为build-essential的软件包集合,它包含了 GCC 编译器以及编译软件所需的许多库和其它实用程序。您只需执行以下步骤就可以在 Ubunt..原创 2020-06-26 10:11:41 · 2119 阅读 · 0 评论 -
VS Code 在Linux下IDE开发C++的HelloWorld
用Visual Studio Code 在Linux(Ubuntu)下构造c++ 的集成开发环境,编辑,编译和调试运行一个简单程序HelloWorld。想达到上面目标,搜索到以下文章,学习验证而成本文日记。链接是:https://code.visualstudio.com/docs/cpp/config-linux前期准备运行环境是ubuntu16.0,先安装好Visual Studio Code(VS Code)安装好VS Code 的C++ 扩展,可以在VS code里Ctrl+Sh原创 2020-06-24 06:56:24 · 2685 阅读 · 0 评论 -
tftp 源代码解析
我先研究udp 传输的机制,tftp是用udp 设计的一个不错应用。在网上查找tftp 源代码,发现https://github.com/ideawu/tftpx上的源码比较好看,这个只是linux 下的代码。在ubuntu 上make 了一下,就编译好了,然后测试程序,能按tftp 的方式运行。那个链接包含服务端和客户端代码,我这里只是分析其客户端代码,因为就算客户端代码也很大的,相比其他的代码,这个还是算简单的。这个客户端代码包含3个文件,tftpx.h 定义tftp中的常量,与..原创 2020-06-21 12:05:08 · 3587 阅读 · 0 评论 -
树莓派Raspberry Pi上安装intel realsense 深度摄像头D435i
全部按照官方:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_raspbian.md更新系统到最新,然后再启动,查看gcc cmake的版本$ uname -aLinux raspberrypi 4.14.34-v7+ $ sudo apt update;sudo a...原创 2019-11-24 09:58:17 · 5295 阅读 · 3 评论 -
D435i 深度摄像头的第一个c++工程,hello world
玩了些时间的D435i 摄像头, c++ 的 rs-example程序,python 的代码图像深度实时显示,我就开始做一个自己的c++工程,hello world。我是看了一些realsense 代码,想自己测试下,觉得需要建立一个自己的工程。本文主要介绍工程的设置方面。代码呢,基本是复制的rs-example 里的helloworld 代码。代码简单,功能是显示采集图像的中心点的深度。...原创 2019-12-03 11:25:23 · 1759 阅读 · 2 评论 -
Modbus通信CRC16校验程序
本文参考了:https://blog.csdn.net/kezunhb/article/details/81914771ModBus 通信协议的CRC ( 冗余循环校验码)含2个字节, 即 16 位二进制数。CRC码由发送设备计算, 放置于所发送信息帧的尾部。接收设备再重新计算所接收信息的CRC, 比较计算得到的CRC是否与接收到的CRC相符, 如果两者不相符, 则认为数据出错。本文介绍其...原创 2019-10-18 02:35:35 · 1282 阅读 · 0 评论 -
vc 编译连接问题
我在使用visual studio c++ 编译连接调试时,总是碰到很多错误。现在我想碰到一个就写一个到这里,不断完善,不足之处,请指正。VC中常见的一些编译链接错误的解决https://blog.csdn.net/jiangxinyu/article/details/8080389VC编译链接选项讲解https://www.cnblogs.com/zhehan54/p/7193...原创 2019-07-22 17:32:16 · 1049 阅读 · 0 评论 -
Vivado 中如何使用 AXI DMA, PL 访问 DDR
起始工程是原来的helloworld 工程,若有不清楚,那就先实验了helloworld,再来开始这个实验。http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html是主要参考资料,详细原理请参考原文。原文实验是Vivado 2014, 我的验证测试是在 Vivado 2018.2.实验内容是用 AXI ...原创 2019-07-29 00:49:47 · 8392 阅读 · 2 评论 -
linux常用命令:ip 命令
ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。ip命令完全可以替代ifconfig命令,而且功能还比ifconfig命令强大https://www.cyberciti.biz/faq/linux-ip-command-examples-usage-syntax/https://www.jellythink.com/arch...原创 2019-07-07 10:46:33 · 6048 阅读 · 1 评论 -
C语言中将二维数组作为参数传递给函数的方法
这个问题疑惑了我很久,网上查了好些文章,觉得这个不错:https://www.cnblogs.com/applebunny/archive/2012/09/09/2677307.html在此基础上,更改示例程序,认为还不错,放在此处,供大家参考,自己记忆。程序在vc2010 下编译运行:// func2array.cpp : Defines the entry point fo...原创 2019-07-18 10:50:05 · 6630 阅读 · 0 评论 -
petalinux 添加编译好的应用程序
petalinux (我的是 2018.2) 如何添加编译好的应用程序呢?ug1144 做了介绍,内容在 ch7:Customizing the Rootfs下的Including Prebuilt Applications。我制作petalinux 2018.2 是在ubuntu16上的,下面是我添加编译好了的应用的步骤。1:确保你的应用程序是针对你的硬件平台,可以先在平台上运行测...原创 2019-07-11 08:54:55 · 5379 阅读 · 7 评论 -
zynq 的定时器中断实验
本文通过定时器中断实验,介绍zynq 的中断和定时器的基本使用方法。本文是在helloworld 实验的基础上完成的,所以必须先完成了helloworld 的实验。这个可以学习本博客的helloworld 实验,或者开发板提供的helloworld 实验。1:中断和定时器介绍:中断对于保证任务的实时性非常必要, 在 ZYNQ 里集成了中断控制器 GIC(Generic Interrupt Cont...原创 2018-04-01 00:43:44 · 3603 阅读 · 0 评论 -
OpenCV 图像清晰度评价(相机自动对焦)
最近想实现相机自动对焦,也就是需要图像清晰度评价,在网上查找。第一个不错文章是:无参考图像的清晰度评价方法http://nkwavelet.blog.163.com/blog/static/227756038201461532247117这个对理论或者公式介绍很详细,共有16个计算方法,值得一学。(1)Brenner 梯度函数(2)Tenengrad梯度函数(3)Lap...原创 2019-07-23 12:10:07 · 7232 阅读 · 4 评论 -
金橙子打标卡二次开发应用
对金橙子卡进行二次开发,主要是利用MarkEzd.dll 。这个版本有对应关系,我目前只有2.5(2.5.3)和2.7 (2.7.6)版本的开发包。但开发的软件只要函数定义没变,就是可以通用的。开发可以vc6,vc2010下进行,官方说明是在vc6下进行,但我是在2010 下开发的。我开发了一个演示软件,确认可以控制金橙子卡打标,内雕。要注意的是所有开发的字符串是unicode 的。...原创 2019-08-18 21:40:15 · 17313 阅读 · 21 评论 -
MFC中改变按钮颜色的方法
本文参考学习https://blog.csdn.net/zxccaoya/article/details/54142523而来。这里介绍mfc 中改变按钮颜色的最简单方法。使用CMFCButton类在mfc 的Dialog 或者 Form 中添加一个按钮,但注意是MFCButton。MFC自带的MFC Button Control控件等按钮可以修改颜色,还能添加图片,设置字体颜...原创 2019-09-01 18:49:03 · 14799 阅读 · 5 评论 -
MFC列表框控件的动态编辑
在我们进行mfc 编程时,我们需要用到列表框显示各层或各物体的参数设置,同时也希望能编辑其参数。我以前在网上查找,用了CComboListCtrl,这需要3个cpp 和 h 文件,用起来还不容易。最近看到一个文章https://blog.csdn.net/qingyang8513/article/details/50986455,这个直接用 listctrl 和 一个Edit 控件,很简单...原创 2019-09-10 13:49:40 · 3155 阅读 · 0 评论 -
mfc 列表框行颜色设置方法
指定改变CListCtrl中某一行的颜色,比如说刚添加进去的一行,让它改变颜色,这样记录多了,容易看到自己刚刚加入的行,方便操作可查看,也可以让添加和修改的记录显示不一样的颜色,方便的多了,VC自带的没有这种功能。虽然说自带没有这个功能,但可以用NU_CUSTOMDRAW我的环境是vc2010, 听说vc6 没有,需要手动添加。新建一个mfc 对话框工程,并添加列表框控件,添加一些数据...原创 2019-09-11 14:35:36 · 3123 阅读 · 2 评论 -
VS2010解决断点无效的问题
vc 调试时,有时候明明选择断点了,调试时就变灰了,就是不断点。网上查找,参考该文:https://blog.csdn.net/sj19890401/article/details/34157399解决问题了。其实很简单,如下操作就可以:菜单:工具->选项在面板里:调试->常规英文版本是这样的:Tools->OptionDebugging->G...原创 2019-09-16 23:00:39 · 1396 阅读 · 0 评论