C++
ZhongNanJingYun_Blog
这个作者很懒,什么都没留下…
展开
-
dcmtk-cmake
dcmtk build原创 2022-09-12 10:49:37 · 385 阅读 · 1 评论 -
ITK-cmake
新建 itk-build目录。打开cmake-gui。点击configure。点击Generate。原创 2022-09-12 09:51:47 · 314 阅读 · 0 评论 -
VisualStudio + QT build environment setup
Visual Studioversion :v2022Install the QT PluginsRestart the Visual Studioopen the extenstion plugins toolDownload the QT.exehttps://download.qt.io/archive/qt/5.12/5.12.12/Install the QT.exefor example:Set QT versionthen,Test the QT原创 2022-03-24 10:45:24 · 222 阅读 · 0 评论 -
STM32CubeMx +STM32CubeIDE Test Dev Environment
IDE Downloadhttps://www.st.com/zh/development-tools/stm32cubeide.html#documentationInstallationBe careful ,make sure the path not contain Chinese , other wise may indicate Error Launch InstallSo ,the English path is very importantCreate a Test Proje原创 2021-03-27 23:24:14 · 326 阅读 · 0 评论 -
C++ 排序算法汇总
数据结构和算法前言数据结构(data structure)是就散集中存储,组织数据的方式;数据结构是一种逻辑关系,包含了逻辑关系,存储关系,操作关系不同的数据结构,根据业务的实际需要可以自行设计;比如计算机网络依赖于路由表,数据库使用B树封装;核心目的:实现增删改查常见的数据结构栈(stack):线性表,先进后出的结构队列(queue):线性表,先进先出的结构数组(array):内存连续固定大小的数据集合;链表(link list):内存不连续,大小不固定的数据结构;首尾相接;树原创 2020-10-23 21:44:27 · 248 阅读 · 0 评论 -
C++ 实现二叉树的三种遍历方式(前序,中序,后序)
二叉树遍历核心就看父节点的位置,在前中后,就是什么遍历;树结构核心是一种非线性的递归思想;前序遍历中序遍历后续遍历关于二叉树的遍历方式,经常有人会提到,如何遍历,以及怎么实现;现在用C++实际操作一下,用于验证;其次,既然有三种顺序,那么当然与查找的结果不一样了。顺便说明了一下;运行环境:VScode编程语言:C++代码实现#include <iostream>typedef struct BinaryNode{ char ch; str原创 2020-09-27 21:22:29 · 982 阅读 · 0 评论 -
两个晚上搞了一个QT文本编辑器,效果比较简陋啊
前言日常开发一直是linux后台 + 控制系统软件开发,感觉每天的黑框甚是无聊啊,遥想界面开发,平时主要用C++,无他,只能QT了,上次使用还是读书时,已经忘得差不多了。好在看了一下QT的基本框架,感觉封装的非常好,如果做了一个简单的Demo测试。本人晚上九点到家,昨天开发到11点多,今天又开发了一会。终于有个雏形了。功能实现完全参考win10 记事本的样子写的,照猫画虎;不知道怎么弄的就百度;实现基本的功能如下:文件,编辑,查找支持快捷键待改善(实在太多了)只是抱着用用的态度,学原创 2020-09-17 21:50:35 · 224 阅读 · 0 评论 -
QT 下载路径专业实测可行
QT下载路径具体下载指南,参考如下路径下载地址,请点击下载及安装说明原创 2020-09-14 18:57:30 · 157 阅读 · 0 评论 -
Ubuntu cmake 编译环境搭建及编译方法 (lesson 01)
Linux cmake 使用方法下载cmake 并安装第一个程序下载cmake 并安装下面展示一些操作 内联代码片。sudo apt-get updatesudo apt-get install cmakelove@ubuntu:~$ cmakeUsage cmake [options] <path-to-source> cmake [options] <path-to-existing-build>Specify a source directory t原创 2020-07-06 23:02:53 · 2915 阅读 · 0 评论 -
Windows自带邮件发送启动程序
使用windows自带的命令,打开Email程序,具体使用方法如下:示例程序#include <stdio.h> //调用相关头文件#include <windows.h>int main() //主函数 { int i=0; //定义循环变量 char ch; //定义字符,...原创 2020-02-21 22:23:41 · 718 阅读 · 0 评论 -
Windows C++ 右槽通信实例
使用邮槽实现进程间通信服务器实例:#include<windows.h> //包含头文件#include<stdio.h>int main() //主函数{ HANDLE mail; //定义邮槽句柄 //创建邮槽 mail=CreateMailslot("\\\\.\\mai...原创 2020-02-18 23:06:59 · 125 阅读 · 0 评论 -
Windows下C++ 使用有名管道实现进程间通信范例
本实例为了展示,使用有名管道的方法,实现进行间的消息传递。实现须知:1. 两个对象,服务器和客户端;2. 有名管道需要创建的文件路径及文件名;3. 有名管道的创建方法及消息发送机制;具体事例如下:服务器代码:#include<windows.h> //包含头文件#include<stdio.h>int main(){...原创 2020-02-18 22:51:07 · 1760 阅读 · 2 评论 -
Windows 使用C++编程进程、线程、临界区等问题范例
本文主要说明了线程间互斥的方法:1. 互斥量2. 临界区3. 事件进程间互斥的方法:使用进程的互斥对象,防止进程多次实例化;1. 线程启动#include <windows.h> //包含相应头文件#include <stdio.h> DWORD WINAPI myfun1(LPVOID lpParamete...原创 2020-02-18 22:43:12 · 232 阅读 · 0 评论 -
C++ 设计模式(2) 抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的...原创 2019-11-07 23:20:43 · 108 阅读 · 0 评论 -
C++ 设计模式(1)简单工厂模式
工厂模式(Factory Pattern)是C++中最常用的一种设计模式,属于创建型模式意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。优点:通...原创 2019-11-07 22:34:38 · 87 阅读 · 0 评论 -
C++ :单例模式
1 教科书里的单例模式我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。上代码: #pragma once#include<iostream>class Singl...原创 2019-10-14 22:24:28 · 91 阅读 · 0 评论 -
C++ 信号量的使用
在进程间通信时,对于消息的通信,有时候回用到信号量,本次就实现一个case,简单介绍信号量如何在进程之间实现消息收发的同步。首先,了解一下信号量的定义,及接口类class interprocess_semaphore{ #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED) //Non-copyable interproces...原创 2019-10-12 22:34:12 · 4629 阅读 · 0 评论 -
C++ 消息队列实现
前言:根据C++ boost实现消息队列消息的形式可以自定义,这里消息的内容为字符串#include <iostream>#include <cstring>#include<boost/interprocess/ipc/message_queue.hpp>#include<vector>进程A是发送消息的进程...原创 2019-10-11 23:37:51 · 1247 阅读 · 0 评论 -
Ubuntu 搭建boost开发环境
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。一般的C++开发中,为了提高开发效率和代码的稳定性,经常用到Boost库。因此需要搭建Boost的开发环境。1. 下载boost库源码,选择linux平台,或者unixhttps://beta.boost.org/users...原创 2019-07-31 23:03:48 · 720 阅读 · 0 评论 -
Const 修饰成员变量及其用法
看const挨着谁近,以最近的进行修饰,简单来说,就是可以修饰,变量、传参、成员函数、返回值const修饰指针变量时: (1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。 (2)只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以通过解引...原创 2019-08-12 22:18:08 · 1394 阅读 · 0 评论 -
Boost thread 库概要(一)
Boost.Thread使我们能够在可移植C++代码中使用带有共享数据的多线程执行。它提供了一些类和函数来管理线程,以及在线程间同步数据或者为每个线程提供独立的数据接口。线程管理Class threadNamespace this_threadClass thread_group概要 boost::thread 类的职责是启动和管理线程对象。 大多...原创 2019-09-02 19:55:17 · 907 阅读 · 0 评论 -
Boost.Function实现函数指针和回调以及测试模板(1)
Boost.Function 库包含一组作为function object wrappers的类模板,在概念上类似于一个泛化的callback,它在两种情况下具有和函数指针相同的特性,一种是定义一个可用于某些可调用实现的调用接口,一种是在整个程序的流程衷可能变化的调用。Boost.Function在一定程度上可以代替函数指针,允许用户在实现上拥有更大的弹性,目标可以是任何兼容的函数对象(或函数...原创 2019-09-04 20:14:55 · 518 阅读 · 0 评论 -
Boost.Function Test 测试用例 (2)
测试用例bind// For more information, see http://www.boost.org/ #include <boost/function.hpp>#include <iostream>#include <functional>struct X { int foo(int);};int X::foo...原创 2019-09-04 20:18:58 · 168 阅读 · 0 评论 -
boost::noncopyable 的用法
类noncopyable类noncopyable 是一个基类。当你想禁止复制构造和复制赋值时,可以从 noncopyable 派生你的类。有些对象,持有象文件和网络连接这样的复杂资源,它们没有明确的复制语义。有时候可能会有复制语义,不过也只有非常有限的用处,而且要正确地实现也非常困难。有时候你是在实现一个没有复制必要的类,你也不想花时间去写这些函数。从 noncopyable 进行派生...原创 2019-09-16 20:09:38 · 517 阅读 · 0 评论 -
boost::interprocess 进程间通信之消息队列的实现
1. 首先需要建立两个工程,processA, ProcessB2. 写一个消息队列的类,"Condition_shared_data.hpp"#include <boost/interprocess/detail/config_begin.hpp>#include <boost/interprocess/sync/interprocess_mutex.h...原创 2019-10-10 23:54:27 · 1221 阅读 · 0 评论 -
数据存储——大小端问题介绍
在实际软件调试时,会做数据类型的转换,比如强制类型转换,将int ---> short , unsigned --> signed ,以及不同的平台做开发时,比如linux ,Window, ARM,不同平台的数据存储机制是不一样的。关于大小端的基本概念如下: 大端:高位存在低地址,低位存在高地址; 小端:高位存在高地址,低位存在低地址;(in...原创 2019-06-13 11:42:59 · 285 阅读 · 0 评论