自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

原创 一文读懂C++中vector和list的区别

vector和list都是C++STL标准模板库中的容器;一、vector 向量(vector)是一个封装了动态大小数组的顺序容器。是一个连续存储的容器,在堆上分配空间。拥有一段连续的空间,并且起始地址不变。可以简单的认为,vector就是一个能够存放任意类型的动态数组。 vector底层以数组的方式实现。以两倍容量增长方式实现容量增长。 vector 增加(插入)新元素时,如果未超过当时的容量,则还有剩余空间,那么直接添加到最后(插入指定位置),然后...

2021-05-06 18:09:30 2342

原创 mips工具链编译 undefined reference to `__ctype_b_loc‘

使用mips-linux-gnu-工具链编译代码时,遇到错误:undefined reference to `__ctype_b_loc'undefined reference to `__ctype_tolower_loc'undefined reference to `__assert_fail'undefined reference to `uselocale'undefined reference to `duplocale'undefined reference to `newl

2020-10-21 15:39:47 1905

原创 libcurl POST请求返回28

libcurl 正常情况下返回28,即为请求超时,排查网络环境;项目中使用 libcurl post图片文件,头部要求使用 application/x-www-from-urlencoded,代码使用 curl_formadd 方式添加表单;但是发post请求时,一直是返回28超时,然而使用postman发请求时却是成功的,很困惑。抓包!wireshark看确实是post成功,并收到了response,但是libcurl 的curl_easy_perform为什么一直返回超时呢???...

2020-09-23 13:54:23 4766

原创 libcurl 显示所有请求/响应信息

curl_easy_setopt(pEasy, CURLOPT_VERBOSE, 1);

2020-09-23 11:35:54 1015

原创 libcurl 设置gzip压缩

curl_easy_setopt(pEasy, CURLOPT_ENCODING, "gzip");

2020-09-23 11:24:47 1030

原创 ONVIF开发(1)开发环境搭建

自己使用Ubuntu18.04;1、安装flex下载地址:https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz命令:# sudo ./configure# sudo make# sudo make install2、安装bison下载地址: ftp://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz命令:# sudo ./configure.

2020-09-03 17:29:42 478

原创 SQLite快速上手(c语言代码调用)

1、下载:https://www.sqlite.org/download.html2、安装:$ tar xvzf sqlite-autoconf-3071502.tar.gz$ cd sqlite-autoconf-3071502$ ./configure --prefix=/usr/local$ make$ make install3、创建数据库:$sqlite3 DatabaseName.db创建成功之后可以使用.databases来检查他是否在数据库列表中

2020-09-03 11:34:56 224

原创 字符集和字符编码(附c语言判断utf8编码)

1.基础知识1.1.字符集字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集有:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。那么为什么会有那么多字符集标准呢?这是因为,很多规...

2020-01-07 16:26:54 5646 1

原创 判断字符串是否为utf-8编码(c语言)

先上代码,实测有效:bool utf8_check(const char* str,size_t length){ size_t i = 0; int nBytes = 0;////UTF8可用1-6个字节编码,ASCII用一个字节 unsigned char ch = 0; while(i < length) { ch = *...

2020-01-07 16:18:52 3095 1

原创 wolfSSL_connect失败错误码-188

记录:wolfssl使用过程中遇到,调用wolfSSL_connect返回值小于0,wolfSSL_get_error得到错误码为-188;wolfcrypt/error_crypt.h中对错误码定义为: ASN_NO_SIGNER_E = -188, /* ASN no signer to confirm failure */查找网上资料比较少,官方论坛解答...

2020-01-07 16:10:56 1334

原创 wolfSSL_get_error错误码-397

记录:使用wolfssl时遇到wolfSSL_read读数据错误,wolfSSL_get_error得到错误码为-397。同一个局域网下,设备的ip和另一个设备的ip重复导致。

2020-01-07 16:03:33 1023

原创 XMPP协议详解

1、XMPP的基本网络结构是怎样?xmpp中定义了三个角色,客户端、服务器和网关;通讯可以在这三者之间的任意两者中进行双向进行。服务器同时承担了客户端的信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。2、XMPP协议的网络架构:...

2019-04-20 17:42:18 7344

原创 从标准输入读命令并执行

实例最好用#include &lt;stdio.h&gt;#include &lt;unistd.h&gt;#include &lt;sys/wait.h&gt;#define MAXLEN 4096int main(void){ char buf[MAXLEN]; pid_t pid; int status; printf("%%")...

2019-03-10 09:21:13 226

原创 常见设备在liunx中的文件名

在linux中,每个设备都被当成一个文件对待。列出几个常用的设备对应的文件名一杯查用。设备 设备对应的文件名 IDE硬盘 /dev/hd[a~d] SCSI/SATA/USB /dev/sd[a~p] U盘 /dev/sd[a~p] 软驱 /dev/fd[0-1] 打印机 25针:/dev/lp[0-2] USB:/dev...

2019-02-16 19:23:20 104

原创 netstat命令

常见参数:-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務状态-p 显示建立相关链接的程序名-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s 按各个协议进行统计-c 每隔一个固定时间,执...

2018-11-06 16:39:17 118

原创 ubuntu 下安装gimp

GIMP是一款免费开源的Photoshop替代工具。虽然它缺少Adobe的一些比较花哨的功能,但是GIMP在常用功能方面与Adobe不相上下,有些方面甚至更胜一筹!1. 添加 GIMP PPAsudo add-apt-repository ppa:otto-kesselgulasch/gimp2. 安装或升级编辑器sudo apt-get updatesudo apt-get ...

2018-11-04 20:57:13 2424

原创 理解oom_killer备忘

原理:  OOM发生的条件一般有两个:  1. VM里面分配不出更多的page  2. 用户地址空间不足   按照资料,找到了oom_kill.c​文件中的out_of_memory() pagefault_out_of_memory()及调用函数__out_of_memory()  1:”找到一个需要被kill的进程“    策略:跳过kernel thread、没有...

2018-10-12 17:42:22 143

原创 undefined reference to `clock_gettime’/undefined reference to `__res_query' 链接错误解决

1、undefined reference to `clock_gettime’clock_gettime在实时库(real time)里面,编译的时候加上-lrt即可。2、undefined reference to `__res_query'编译时加上-lresolv即可。 ...

2018-10-10 20:44:55 1683

原创 网络地址的初始化与分配

将字符串信息转化为网络字节序的整数型sockaddr_in中保存的地址信息的成员为32位整型,因此,为了分配IP地址,需要将其表示为32位整数型数据,这对于只熟悉字符串信息的我们来说并非易事。幸运的是,有个函数,会帮我们将字符串形式的IP地址转换成32位整数型数据。此函数在转换类型的同时进行网络字节序的转换。#include &lt;apra/inet.h&gt;in_addr_t ...

2018-08-12 20:09:19 886

原创 feek()、ftell()和rewind()用法

长时间没用这几个函数了,今天用到,有些陌生,回忆后记录一下加深印象。1、int fseek(FILE *stream, long offset, int fromwhere);作用:重定位流(数据流/文件)上的文件内部位置指针;参数:stream为文件打开后的流指针(FILE*); offset为偏移量(正数为从文件头向文件尾的偏移方向,负数相反,0...

2018-07-09 22:52:30 2020

原创 c++中文件输入/输出简单示例

下边的程序演示了用户输入信息,然后将信息显示到屏幕上,再将这些信息写到文件中,读者可以使用文本编辑器来查看该输出文件中的内容。#include &lt;iostream&gt;#include &lt;fstream&gt;int main(){ using namespace std; char automobile[50]; int year; double a_price...

2018-07-04 23:28:59 690

原创 字符函数库cctype

函数名称返回值isalnum()如果参数是字母数字,即字母或者数字,该函数返回tureisalpha()如果参数是字母,该函数返回trueiscntrl()如果参数是控制字符,该函数返回trueisdigit()如果参数是数字(0~9),该函数返回trueisgraph()如果参数是除空格之外的打印字符,该函数返回trueislower()如果参数是小写字母,该函数返回trueisprint()如...

2018-07-03 22:37:43 112

原创 文件尾条件

检测文件尾(EOF)-----在c++中,假设将一个文件内容输入到cin中,cin检测到EOF即文件结尾时,cin将eofbit和failbit都设置为1,可以通过成员函数eof()来查看eofbit是否被设置;如果检测到EOF,则cin.eof()将返回bool值ture,否则返回false。failbit和eofbit相同,成员函数为cin.fail()。有的系统支持键盘模拟EOF,下边使用键...

2018-07-02 21:51:15 373

原创 比较数组,模板array和模板vector

先上简单的一个实例: #include &lt;iostream&gt;#include &lt;vector&gt;#include &lt;array&gt;int main(){ using namespace std; //C,original C++ double a1[4] = {1.2,2.4,3.6,4.8}; //C++98 STL vector&lt;do...

2018-07-01 19:02:32 202

原创 内存泄漏

关于内存泄漏的概念,这里做一些阐述。如果在一个程序中,使用了new后没有delete,将会发生什么情况呢?如果没有调用delete,则即使包含指针的内存由于作用域规则和对象生命周期的原因而被释放,在自由存储空间上动态分配的变量或者结构也将继续存在。实际上,将会无法访问自由存储空间中的结构,因为只想这些内存的指针无效。这就导致了内存泄漏。那么内存泄漏会导致什么情况呢?被泄露的内存将会在程序的...

2018-07-01 18:03:39 87

原创 new和delete的使用规则

1、不要使用delete来释放不是new分配的内存;2、不要使用delete释放同一块内存两次3、如果使用new[]为数组分配内存,则应使用delete来释放;4、如果使用new为一个实体分配内存,则应使用delete来释放;5、对空指针应用delete是安全的。...

2018-06-18 23:57:38 656

原创 静态联编和动态联编

如果通过声明来创建数组,则在程序被编译时将为它分配内存空间。不管程序最终是否使用数组,数组都在那里,它占用了内存。在编译的时候给数组分配内存被称为静态联编(static binding),意味着数组是在编译时加入到程序中的。但是使用new时,如果在运行阶段使用数组,则创建它;如果不需要数组,则不创建。还可以在程序运行的时候选择数组的长度。这被称为动态联编(dynamic binding),意味着数...

2018-06-18 23:32:06 287

原创 c++中new对象的时候内存被耗尽?

c++中new对象时分配的内存块与常规变量声明的分配的内存块不同,new是从被称为堆或者自由存储区的内存区域分配空间,但是计算机可能会由于没有足够的内存而无法满足new的请求,在这种情况下,new将会返回0,在c++中,值为0的指针通常被称为空指针(null pointer)。...

2018-06-18 23:07:36 1455

原创 apt-get update和upgrade的区别

前者是更新整个仓库的版本信息,后者是升级软件包;apt-get是某些linux发行版使用的一个“包管理器”。软件包列表是不会被自动下载的,需要用户使用apt-get update更新,这样,apt-get才能知道每个软件包的最新信息,从而正确地下载最新版本的软件。apt-get upgrade,则是对已经安装的软件包本身进行更新的过程。...

2018-05-10 00:20:15 751

ezxml-0.8.6.tar.gz

纯C语言的xml工具,简单易用。 部分接口如下: typedef struct ezxml *ezxml_t; ezxml_t ezxml_parse_str(char *s, size_t len); ezxml_t ezxml_parse_fd(int fd); ezxml_t ezxml_parse_file(const char *file); ezxml_t ezxml_parse_fp(FILE *fp); ezxml_t ezxml_child(ezxml_t xml, const char *name); ezxml_t ezxml_idx(ezxml_t xml, int idx); ezxml_t ezxml_get(ezxml_t xml, ...);

2023-12-06

第三方开源库,包括curl、cjson、pcap、wolfssl、zlib、iconv

开源库,包括:curl-7.49.1.tar.gz、json-c-0.13.tar.gz、libiconv-1.15.tar.gz、libpcap-1.7.4.tar.gz、zlib-1.2.8.tar.gz、wolfssl-3.9.6.tar.gz

2020-08-17

C语言实现队列,可做基础库

C语言实现队列,测试功能完整,可以在作为基础库开发。 包含接口:Queue_Init、Queue_Free、Queue_AddToHead、Queue_AddToTail、Queue_GetFromHead、Queue_GetFromTail、OnQueueIncreasedEvent

2020-08-17

c语言实现IPV6服务端与客户端源码(嵌入式设备)

c语言实现IPV6的服务端程序与客户端程序,直接编译可使用,亲测服务端与客户端正常,并且包含与IPV4实现的具体区别详解。

2020-08-17

VNC-5.3.3-Windows.exe

它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。

2019-02-16

颜色拾取器

一款绿色小巧的屏幕颜色拾取工具,有点类似于Photoshop中的色板

2019-02-16

c primer plus

全书共17章。第1、2章学习C语言编程所需的预备知识。第3到15章介绍了C语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的C编程参考资料。

2018-07-04

超大简历合集

1000分超大简历合集,覆盖了不同风格、不同行业,简约的,时尚的,总有一个适合你

2018-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除