
C/C++
文章平均质量分 63
C/C++ 进阶
远行的蜗牛2016
勤于梳理归纳,构建知识架构,结交同道中人,乐于互通有无。
展开
-
valgrind 工具使用
使用Valgrind进行内存泄漏检测以及性能分析、检测线程错误的软件开发工具。原创 2022-11-08 16:34:25 · 497 阅读 · 0 评论 -
linux 下gdb 调试
编译加上参数 -g查看源码查看参数gdb可支持的变量显示格式有:x:按16进制格式显示变量d:按10进制格式显示变量u:按16进制格式显示无符号整型o:按8进制格式显示变量t:按2进制格式显示变量c:按字符格式显示变量f:按浮点数格式显示变量查看一个二级指针的数据先查看变量地址查看二级指针保存数据地址:二级指针存放的数据地址:0x406680查看该地保存的字符数据或者直接 x /31s *0x7fffffffcac0 查看查看内存值。原创 2022-11-08 16:39:49 · 1181 阅读 · 0 评论 -
获取U盘信息
U 盘信息获取原创 2022-09-29 13:54:02 · 870 阅读 · 1 评论 -
socket通断检查
socket 网络连接状态检查原创 2022-09-27 14:33:27 · 294 阅读 · 0 评论 -
LetCode 字符串匹配
找出字符串中第一个匹配项的下标原创 2022-09-19 09:53:08 · 179 阅读 · 0 评论 -
kernel Makefile srctree变量的含义
# Use make M=dir to specify directory of external module to build# Old syntax make ... SUBDIRS=$PWD is still supported# Setting the environment variable KBUILD_EXTMOD take precedenceifdef SUBDIRS KBUILD_EXTMOD ?= $(SUBDIRS)endififeq ("$(origin M)",.原创 2021-09-09 17:27:44 · 2721 阅读 · 0 评论 -
feof判断文件结尾,最后一行重复读,问题分析和处理方案
#include<string.h>#include<stdio.h>int main(){ char buf[10]; FILE *fp = NULL; if((fp=fopen("./1.txt","r"))==NULL) { printf("open file failed \n"); } while(!feof(fp)) { fgets(buf,10,fp); printf("buf = %s", buf); }}..原创 2020-11-28 20:08:58 · 1070 阅读 · 0 评论 -
编程经典书籍
《C Primer Plus》(第5版)中文版 买新版《C++Primer》中文版《C++ Primer Plus》 比第二更适合零基础《Python核心编程》《Python编程从入门到实战》《Go语言实战》 or《Go In Action》《算法导论》 不适合初学者《算法》第四版 红色《TCP/IP详解》《计算机网络 自顶向下》《私房菜》 工具书《Unix环境高级编程》...原创 2020-01-11 17:24:13 · 263 阅读 · 0 评论 -
字符串函数使用
C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)头文件:#include <string.h>定义函数:int strcasecmp (const char *s1, const char *s2);函数说明:strcasecmp()用来比较参数s1 和s2 字符串,比较时会自动忽略大小写的差异。返回值:若参数s1 和s2 字符串相同则返回0。s1 长度大...原创 2019-12-31 10:07:00 · 146 阅读 · 0 评论 -
qml 界面开发笔记
项目用QML开发界面,用C++ 实现逻辑,一边学习,一边摸索,在应用中理解QML, QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javascript形式的编程控制。QML 编写界面十分方便, Qt信号的获取,在Qt助手中很多常规的的信号是默认,但是没有列出,以最近开发用到的TextFiled的为例,助手...原创 2018-03-27 20:54:15 · 462 阅读 · 0 评论 -
qml 界面开发之控件样式设置
使用qml开发应用程序,qml设计界面更加的快捷美观,逻辑程序的实现使用 C++。 使用qml 怎样设计出合适的界面,胸有成竹是关键,你心里想的明确的,界面的实现便是调代码了,怎样实现心中的样子,设计样式根据什么来设计,查看Qt的源代码,会有很多收获,刚开始接触qml开发有一头雾水,慢慢做着,发现挺简单的,其实只是假象,很多知识点并没有深入了解,QML与C++的交互...原创 2018-03-05 22:49:50 · 6038 阅读 · 0 评论 -
qml 虚拟键盘
1 编译插件1. 下载QT5.7 的源代码,http://download.qt.io/archive/qt/5.7/5.7.0/single/2. 从压缩包里面找到qtvirtualkeyboard,将其拷贝出来,到一个英文路径的目录上。3. 点击windows的【开始】【Qt 5.7.0】【5.7】【MinGW 5.3.0 (32-bit)】【Qt 5.7 for Desktop (MinGW...原创 2018-03-05 20:22:35 · 1096 阅读 · 0 评论 -
Qt 的界面开发笔记
现在的工作是界面应用程序开发,以前使用C编程,现在需要qt 下用到C++做嵌入式界面开发,边做项目边总结。一般找到的教程是直接操作,没有定义自己的类,在项目比较小,功能比较单一的情况下可以使用,但是不如依据个人需求重新定义类更方便快捷,qt 工程中资源文件的添加一、类的定义,利用好继承关系,添加自己需要的功能,现在做的无外乎添加图标,控件布局都是比较基础的,改变控件效果,通过重原创 2018-06-23 16:35:50 · 1499 阅读 · 0 评论 -
数据结构中遍历的意义
在数据结构二叉树中经常会提到二叉树遍历,今天特意在网上搜索一下,加深理解。 通过不同的遍历可以反向绘制绘制出二叉树。 二叉树遍历依据特定顺序遍历每个节点,根据绘制遍历顺序图可以更好的理解遍历顺序。前序遍历用来实现目录结构的显示中序遍历,可以用来做表达式树,在编译器底层实现的时候用户很,可以实现基本的加减乘除比如 a*b+c,非原创 2016-07-31 10:14:47 · 2608 阅读 · 0 评论 -
unix fsync sync 数据刷新
CPU跑linux系统接收串口发送来数据,需要将文件保存下来,接收文件完成,系统会重启,结果发现保存的文件不完整,最后的数据有丢失,利用fclose()关闭文件,而且返回正确,最后发现数据丢失与unix保存文件的策略有关系,当时习惯性的认为fclose()调用了刷新fflush(),缓冲区的数据已经保存到文件了,然而并非如此,后来在关闭文件以后,增加了延时,当延时大于一定时间,数据可以完整保存,...原创 2018-03-27 20:55:27 · 344 阅读 · 0 评论 -
C++ 纯虚函数 虚函数的区别
从对C++一无所知开始学习,越发发现C++的复杂与灵活,C++的精髓,多态,继承,封装,在开发中不断体会其中的含义。当初随便抄起一本入门书,读起来,感觉C++比较简单吗,也并不太复杂,只能说当时太年轻,随着开发的进展,越发体会到C++ 的复杂与灵活。本文主要记录个人对纯虚函数和虚函数的理解。 虚函数的定义形式:virtual {method body}纯虚函数的定义形式:virtual { }...原创 2018-06-23 15:35:45 · 331 阅读 · 0 评论 -
C++ IO库的使用
IO类:iostream定义了用于读写流的基本类型fstream 定义了读写命名文件的类型。sstream 定义了读写内存string对象的类型。std::ios::in std::ios::binary 的作用>>运算符,用来从一个istream对象读取输入数据。<<运算符,用于从一个ostream对象写入输出数据。std::ios::in | std::ios::bi...原创 2018-06-26 20:13:34 · 499 阅读 · 0 评论 -
C++ 字符串操作
A: c_str() 是为了兼容C字符串常量 把C++中的string类型转换成C中的字符串类型 String str=“Hello World”; const char * ch = str.c_str(); string a("hello world"); const char *cap=NULL; //const 作用: char *b=NULL; cap=a.c...原创 2018-06-26 21:15:41 · 175 阅读 · 0 评论 -
C++ 开发随笔
C++ 面向对象开发,与C 的面向过程开发, C++的特性 封装 多态,继承。封装: 构建合理的模型,将接口尽可能少的暴露出来,提高数据的安全性。多态: 一个接口,内部多种实现。继承:减少代码,简化结构,子类去继承父类,父类实现的功能,子类通过继承获得。 设计模式中的模型模式可以提现继承,以及虚函数的使用,在父类定义接口,子类继承,实现具体实现。优点:子类可以父类的公有接口。缺点:子类调用实现有...原创 2018-07-07 15:00:23 · 191 阅读 · 0 评论 -
C++ 23种设计模式
随着工作的开展,越来越感觉到程序架构的重要性,怎样能看懂别人的程序,怎样让自己的程序更容易被被人看懂,这是开发过程中时时刻刻会遇到的问题,无意中遇到了设计模式,正和我意,正是我需要的,顺道整理学习,构建个人知识体系。个人对设计模式的理解:代码结构清晰,方便处理问题。优化资源,提高效率。带着问题去学习,选择合适的设计模式,进行编程练习。设计模式总共分为三类:1、创建型,2、结构型,3...原创 2018-07-07 12:29:49 · 11952 阅读 · 0 评论 -
C++ 单例模式
C++ 单例模式 小明家有一只猫小黑,他邻居小胖家没有,但是小黑会跑去小胖家吃鱼,当然在自己家也吃鱼,但是鱼是不是不同的鱼,猫是同一只猫。定义一只猫CAT的单例模型。class CAT{public: static CAT *instance(); ~Model();private: cat(); void eatFish(); void run();...原创 2018-07-07 16:10:13 · 245 阅读 · 0 评论 -
C++复合与继承下的构造、析构过程。
继承中的构造与析构举例子,构造(多层包装的过程)由内到外先构造父类,在构造子类,这样才安全。析构(箱子破坏拆开的过程)由外到内复合中的构造与析构同样先构造内部的,在构造外部的,析构先破坏外部,在破坏内部。...原创 2019-03-02 15:54:21 · 305 阅读 · 0 评论 -
const、 static关键字解析
C++ 基本语法学习转载 2017-05-04 05:54:26 · 279 阅读 · 0 评论