代码检查工具cppcheck的安装及使用
简介
官方网站:http://cppcheck.net/
Cppcheck 是用于 C/C++ 代码的静态分析工具。它提供独特的代码分析来检测错误,并专注于检测未定义的行为和危险的编码构造。目标是实现很少的误报。Cppcheck旨在能够分析您的C / C++代码,即使它具有非标准语法(在嵌入式项目中很常见)。
安装
Windows
下载安装包安装即可。下载地址:http://cppcheck.net/
Linux
Cppcheck can also be installed from various package managers; however, you might get an outdated version then.
Debian
sudo apt-ge...
vscode配置qt开发环境
背景
因为个人感觉QT Creator使用起来没有VSCode顺手, 故网上查找了一下,在VSCode中搭建QT开发环境的方法。因为QT5过后支持使用CMake构建项目,所以在VSCode中也可以使用CMake构建QT项目。
以下并非原创,只是记录过程,方便自己日后翻阅。文章来自于CSDN博客
测试环境
QT 5.14.2(MinGW 7.3.0 64bit)
CMake 3.19.1
Visual Studio Code 1.63.2
软件&插件安装
软件安装
QT Creator安装
Visual Studio Code安装
VSCode插件安装
在扩展商店搜索插件,点击安装即可
C/C++扩展
CMake
...
shell教程
shell
教程链接
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
shell脚本
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
由于习惯的原因,简洁起见,本文出现的 “shell编...
linux下非特权用户安装软件
Linux下非特权用户安装软件
下载源码
编译可执行程序
设置用户环境变量
安装tree
# 下载源码
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
# 解压
tar zxvf tree-1.7.0.tgz
# 编译
cd tree-1.7.0
make
# 设置环境变量
vi ~/.bashrc
# 添加内容
export PATH=/home/user/tree-1.7.0:$PATH
# 生效
source ~/.bashrc
安装 ncurses-devel
# 下载
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar...
linux下网络编程
网络编程
通信协议
TCP协议
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。即客户端和服务器之间在交换数据之前会先建立一个TCP连接,才能相互传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
TCP的优点 :可靠,稳定 ,TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
TCP的缺点 :慢,效率低,占用系统资源高,易被攻击 ,TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有...
linux下IO多路复用
I/O多路复用
Linux下select详解
select、poll和epoll优缺点和比较
IO模型:
同步阻塞IO(Blocking IO)
同步非阻塞IO(Non-blocking IO)
IO多路复用(IO Multiplexing)
异步IO(Asynchronous IO)
信号驱动IO(Signal Driven IO)
IO 多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;
一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;
没有文件句柄就绪就会阻塞到超时timeout退出或者一直阻塞。
select
概述
允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个时间发生或经历一段指...
json简析
概述
JSON是 JavaScript Object Notation的缩写,它是一种数据交换格式。也是 JavaScript的一个子集,表示对象。
JSON 是存储和交换文本信息的语法,类似于 XML ,但是它比 XML更小,更快,更易解析。
JSON 规定字符集必须是 UTF-8,字符串必须用双引号 “”,Object的键也必须用双引号 ""。
因为 JSON有着上面的规定,使得 JSON在其它编程语言也可以轻易解析。
JSON vs XML
相同之处:
JSON 和 XML 数据都是 “自我描述” ,都易于理解。
JSON 和 XML 数据都是有层次的结构
JSON 和 XML 数据可以被大多数编程语言...
共计 78 篇文章,10 页。