随笔分类 - C/C++杂项
C/C++杂项
摘要:通信协议解析库说明 一、概述 用于上位机串口通讯协议解析,协议格式:AA len type id data 校验 帧头(1byte) 长度(1byte) 协议类型(1byte) 命令ID(1byte) 数据(xbyte) 校验和(1byte) AA x x x x 异或校验和 固定帧头:0xAA 校
阅读全文
摘要:问题:QT Creator12.0.1运行普通C/C++程序时候没有控制台输出 菜单栏选择:[编辑]->[设置],按下图依次设置。启用终端输出,还有去掉内部终端输出的选项 运行后控制台窗口正常弹出
阅读全文
摘要:C++绘制玫瑰花 源码 #include <stdio.h> #include <windows.h> #include <math.h> #include <graphics.h> #include <mmsystem.h> #pragma comment(lib,"winmm.lib") //定
阅读全文
摘要:1、头文件 #pragma once class CSplitStr { private: //切分的标志符号 CString m_sSplitFlag; //连续的切分的标志符号当成一个标志处理 BOOL m_bSequenceAsOne; //被切分的文本 CString m_sData; pu
阅读全文
摘要:linux获取系统时间 0.相关结构体介绍 // Broken-down time is stored in the structure tm, which is defined in <time.h> as follows: struct tm { int tm_sec; /* Seconds (
阅读全文
摘要:STM32内部Flash读写操作 硬件平台:以STM32F103C8T6为例 固件库SDK版本:HAL V1.8.3 1、内存映射介绍 (1)stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。 (2)R
阅读全文
摘要:单片机实现AT调试命令 实现目的 对于日常开发过程,我们经常需要借助串口调试设备,所以增加调试指令并且易于扩展是有必要的 思路 1、串口使用中断接收用户参数到接收缓冲区,定义0x0d作为结束标志 2、调用命令类型解析回调函数AT_DeviceHandle,对命令消息进行分流,然后进入指令类型解析函数
阅读全文
摘要:说明 目前主要封装了串口1的实例,采用可移植数据类型,可以同步移植到STM32、STM8等单片机; 需自行实现串口接收回调函数内容; 欢迎各位指正并分享; 头文件 #ifndef __SERIAL_H__ #define __SERIAL_H__ #include <reg52.h> #ifndef
阅读全文
摘要:/* * 功能简介:比较两个整数的大小,返回小者 * 参 数:a 整数1,b 整数2 * 返 回 值:返回值较小的数字 */ int min(int a, int b) { return a > b ? b : a; } /* * 功能简介:比较两个整数的大小,返回大者 * 参 数:a 整数1,b
阅读全文
摘要:一、关于vi vi是最强大的文本编辑器,没有之一,vi作为上古神器,历史悠久,现在还应用如此的广泛,正印证了存在即合理的道理,只要你经常接触linux,必然少不了接触vi。 vi的初次使用可能体验感很不好,就和上古神器一样,强大的武器和工具都是难以驾驭的。当你vi操作熟练后,你会觉得真香,并
阅读全文
摘要:GDB调试工具的使用(C/C++) 一、简介 为什么需要用GDB 作为一名程序员,最大的梦想就是写出不带bug的代码,但是现实难免有时候不如人意;所以我们常常需要借助一些工具帮我们查找代码的语法错误和逻辑错误。编译时我们会采用gcc进行语法错误的检查,而gcc并不能为我们检查程序上逻辑的错误,所以需
阅读全文
摘要:ZIP压缩与解压类库分享 简介 适用于win32/64以及win-ce平台,支持Unicode。 版权说明 ZIP UTILS by Lucian Wischik, June 2004 - July 2005 解压调用示例 // For unzipping, add "unzip.cpp" to y
阅读全文
摘要:1.用途 - 可以获取系统图标列表 - 可以获取任意文件/文件夹/磁盘的图标 - 可以获取任意文件/文件夹/磁盘图标在系统图标列表中的位置 2.头文件 #pragma once #include <winnt.h> class CSHGetFileInfo { public: /// 获取系统图像列
阅读全文
摘要:1.步骤 - 获取所有驱动器名称的总长度 - 申请接收缓冲区内存 - 获取驱动器目录存入申请的堆内存区 - 遍历接收缓冲区分离驱动器目录 - 释放内存空间 2、测试代码 void CTreeTestDlg::FindDisk() { // 获取系统分区驱动器字符串信息 size_t nSize =
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> #include <time.h> #include <Windows.h> #include <conio.h> /* 地图长和宽 */ #define MAPHEIGHT 25 #define MAPWIDTH 60
阅读全文
摘要:再谈C语言宏定义 [toc] 简单的宏定义 1. 简单宏定义格式 关键字 define 标识符 需要符合C语言变量命名标准 替换列表 是一系列的C语言记号,包括标识符、关键字、数字、字符常量、字符串字面量、运算符和标点符号等(注意替换列表可以为空,即简单宏可以只包含[关键字]和[标识符])。 2.
阅读全文
摘要:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> typedef enum _BOOL_ { FALSE = 0, TRUE }
阅读全文
摘要:0. 封装原因 主要因为Windows socket 相关的API调用步骤比较繁琐。 1. 头文件 #pragma once #include <WinSock2.h> #pragma comment(lib, "Ws2_32.lib") class CSocketLzf { protected:
阅读全文
摘要:C/C++实现代码雨效果 [toc] 说明 最近整理电脑资料,翻出了以前写的代码,顺便整理一下到博客上,当做一次备份记录 先看看静态效果 需要分为以下步骤实现 生成代码串 把代码串绘制到窗口中 使用双缓冲机制避免屏幕闪烁 让代码串往下移动 随机选择代码串中的随机字符位置做随机修改 使用的库说明 使用
阅读全文
摘要:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> // 方法1:使用指针数组实现 unsigned long inet_addr(const char *str) {
阅读全文