自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

烟花易冷

linux,C,C++,网络,数据库

  • 博客(200)
  • 收藏
  • 关注

原创 ubuntu16.04修改静态ip

配置文件/etc/network/interfaces。ifconfig 先看下自己的ip和网卡。

2023-06-11 11:06:44 786

原创 Xshell 上下左右键乱码^[[A^[[B^[[C^[[D

原来我的用户名后面没有指定/bin/bash。查看/etc/passwd文件。

2023-06-10 16:00:32 263

原创 移植openssl-1.1.1

移植openssl-1.1.1

2022-07-03 20:52:09 377 1

原创 sql 删除最早的一条记录

删除最早的一条记录

2022-07-02 21:46:27 836

原创 C++静态成员重新梳理

C++静态成员重新梳理

2022-07-02 10:52:40 73

原创 移植libevent

移植libevent

2022-07-02 10:42:10 111

原创 移植sqlite3

移植sqlite3

2022-07-02 10:40:23 284

原创 Linux嵌入式设备时钟同步到硬件

Linux嵌入式设备时钟同步到硬件

2022-07-02 10:03:02 197

原创 C/C++使用宏连接字符串

C/C++使用宏连接字符串

2022-07-02 09:33:51 627

原创 使用du命令查看哪个文件夹占了比较大的空间

使用du命令查看哪个文件夹占了比较大的空间,排查Linux设备存储空间越来越小

2022-06-18 23:06:30 358

原创 jsoncpp交叉编译makefile及方法

jsoncpp交叉编译makefile及方法

2022-05-31 22:17:40 465

原创 C++ strftime和std::get_time对linux struct tm的作用

代码说明一切。strftime给 struct tm结构体的日期的年+1900,月份+1,并按格式转成字符串std::get_time则对字符串获取struct tm结构体,年份-1900,月份-1代码如下:#include <iostream>#include <stdio.h>#include <time.h>#include &l...

2018-10-18 20:39:48 2610

原创 linux tail命令监控日志神器

直接说重点,监控的日志文件名为filename,cd到他所在位置下,执行tail -n 100 filename -f可以监控日志的动态变化。-n显示最后的多少行,-f 用于监视文件增长,没有-f,看不到日志动态新增。tail命令懂得这两个参数就够了。  ...

2018-10-15 20:45:12 1502 1

原创 给snprintf函数弄个动态的格式串

先上代码:#include <stdio.h>int main(){ char chBuf[40] = {0}; char chParam[24] = {0}; snprintf(chParam, sizeof(chParam), "%%0%dd",4); snprintf(chBuf , sizeof(chBuf), chParam, 6); printf("---...

2018-03-26 23:37:44 596

原创 不需要进入sqlite3命令的方法

sqlite3   xxx.db "sql语句"

2018-02-28 23:37:36 1646

转载 每天一个linux命令(37):date命令

每天一个linux命令(37):date命令在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。1.命令格式:  date [参数]... [+格式]2.命令功能:date 可以用来显示或设定系统的日期与时间。3.命令

2018-02-27 23:08:51 305

原创 Linux使用带时区转换的时间函数注意事项(负负得正)

linux时间结构体定义:struct tm{     int    tm_sec; //代表目前秒数,正常范围为0-59,但允许至61秒     int    tm_min; // 代表目前分数,范围0-59     int    tm_hour; //从午夜算起的时数,范围为0-23     int    tm_mday; //目前月份的日数,范围01-31

2018-02-27 22:46:12 2668

转载 DLMS电能表通讯协仪

本文是对于IEC62056协议族,即DLMS协议族的中文说明手册。本文并没有包含DLMS协议族的全部,但解释了在应用中可能出现的大多数情况。本文的目的是为电能量数据采集终端提供与使用DLMS协议族的电能表通讯的协议说明。       本文参考文献如下:       (1)DLMS User Association , COSEM Identification System andI

2017-11-23 23:08:44 11762

原创 C++11实现生产者和消费者

#include #include #include #include #include #include #include class CThreadMsg{private: std::deque m_data; std::mutex m_mtx; // 全局互斥锁. std::condition_variable m_cv; // 全局条件变量. int

2017-09-06 14:22:33 869

原创 使用C++把字符串写入文件

#include <fstream> #include <iostream>#include <string>int write_string_to_file_append(const std::string & file_string, const std::string str ){ std::ofstream OsWrite(file...

2017-09-04 19:09:54 29259 9

原创 使用libvlc播放音乐,实时获取位置、播放状态、时长,播放httpURL

#include #include #include "vlc/vlc.h" #include "libvlc.h"#include "libvlc_media_player.h"#include "libvlc_media.h"#include "log_c.h"#include "VlcMusicPlayer.h"#define url_temp "/share/mus

2017-09-03 22:48:23 6607 2

原创 ubuntu安装vlc

sudo apt-get install libvlc-devsudo apt-get install vlc##重装sudo apt-get install --reinstall vlc##重装sudo apt-get install --reinstall vlc-noxsudo /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugi

2017-09-02 22:35:57 1967

原创 使用libvlc简单的播放一首本地音乐文件

#include #include #include "vlc/vlc.h" #include "libvlc.h"#include "libvlc_media_player.h"#include "log_c.h"//#define url_temp "/share/music/20Hz-stero.wav"#define url_temp "/share/music/1

2017-09-02 22:30:47 2863 1

原创 C++11 thread编程调用类方法并传入参数

#include #include class classA{public : classA() { std::cout<<" classA " <<std::endl; } void func(int a, const char *pchText) { std::cout<<" func " <<std::endl; m_a = a;

2017-08-31 10:21:12 4816

转载 linux 端口号分配

端口号分配TCP和UDP采用16b的端口号来识别应用程序。那么这些端口号是如何选择的呢?服务器一般都是通过知名端口号来识别的。例如,对于TCP/IP实现来说,每个FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(普通文件传输协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1 023之间的端口号。这些知名端口号由

2017-08-27 17:06:37 8554

转载 使用cJSON解析JSON字符串

JSON学习-使用cJSON解析  使用cJSON解析JSON字符串 一、为何选择cJSON          我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。

2017-08-25 06:06:48 4816

原创 使用select实现多线程定时器

#include #include #include #include #include #include #include #include int set_timer_s(long u32Time){ struct timeval stuTime; int ret = 0; memset(&stuTime, 0, sizeof(struct

2017-08-20 19:21:08 3905

原创 C++ STL list的初始化、添加、遍历、插入、删除、查找、排序、释放

list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上STL的list容器的头文件:#include; list属于std命名域的内容,因此需要通过命名限定:using std::list;也可以直接使用全局的命名空间方式:using nam

2017-08-20 14:31:28 161852 6

转载 结构体中运算符的重载

C++中,结构体是无法进行==,>,=,比如二分查找,binary_crearch只能对数组进行查找,如果是结构体数组的话,它会报错。但很可惜,实际编程中,大部分时候操作对象是结构体数组。二分查找结构体数组的程序如下:[cpp] view plain copy#include   #include   #include     

2017-08-20 14:12:08 6870

转载 linux运行级别

也许大家偶然会发现/sbin里有个init命令。你知道它是如何使用的吗?  如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢?  有时你要维护服务器,暂时不希望别的用户登录系统,但自己仍对网络有访问权,又该怎么办呢?  其实,如果你知道了三个问题之间的关系,它们就不成问题了。让我们这里入手了解一下Linux的运行级别(runlevel)吧!  其实ini

2017-08-19 20:23:29 351

原创 linux开机启动自动执行某个脚本

有时候我们需要在开机的拉起一个服务或进程。比较方便的改法是在文件/etc/rc.local,编辑这个文件,在末尾添加source 脚本名称.sh脚本run_httpd_server.sh的内容#!/bin/bashexport BASE_DIR=$(pwd)echo ${BASE_DIR}cd /share/http/apache2.2.32-install/

2017-08-19 20:18:54 28282

原创 HTTP POST方法的学习

在POST方法下,CGI程序可以直接从服务器的标准输入中获取数据,不过要先从CONTENT_LENGTH这个环境变量中得到POST参数的长度,然后再读取相应长度的内容。先弄个post.html,并放到htdocs目录下。CGI POSTMethod:POOSTPlease input two number:*=代码如下:#inclu

2017-08-19 13:56:25 1790

原创 HTTP GET参数的获取

REQUEST_METHOD的值一般包括POST和GET两种GET参数的获取在GET方法下,CGI程序无法直接从服务器的标准输入中获取数据,因为服务器把从标准输入接收到的数据编码到环境变量QUERY_STRING(或PATH_INFO),采用GET方法时,只需把这些数据附加到URL的末尾,如http://192.168.1.211:8080/cgi-bin/222?s=1&b=3&u=0,

2017-08-17 21:36:25 2967

转载 编程之美——寻找数组中最大的K个数

从别人的那里转过来,这种题目,其实就是需要使用分治方法编程之美上的寻找N个数中最大的前K数,给出了一种算法,我认为比较好:算法是这样写的:    假设N个数存储在数组S中,我们从数组S中随机选出一个元素X,把数组分为两部分Sa和Sb.Sa中的元素都大于X,Sb中的元素都小于X,这时,有两种可能性:1.Sa中元素的个数小于K,Sa中所有的数和Sb中最大的K-|Sa|个数(|S

2017-08-16 21:15:47 1720

原创 C++map删除多个元素的方法

比如的map。typedef std::map mapPeopleType;现在要求序号取余2为0 的成员。正确的方法:#include #include #include typedef std::map mapPeopleType;void for_each(mapPeopleType &PeopleMap){ mapPeopleType::it

2017-08-16 18:11:50 4645

原创 获取CGI环境变量

1.CGI环境变量简介CGI程序继承了系统的环境变量,CGI的环境变量,在CGI程序在启动时初始化,结束时销毁,当一个CGI程序不是被HTTP服务器调用时,其环境变量基本是系统的环境变量。当属于HTTP服务器调用时,他的环境变量就会多了以下关于HTTP服务器、客户端、CGI传输过程等项目。  CGI相关的环境变量有三种,与请求相关的环境变量、与服务器相关的环境变量,以及与客户端相关

2017-08-16 16:04:14 3877

原创 编写第一个CGI程序

1.首先确定自己的apache http服务器启动。服务器还没起来呢启动服务器2.编写cgi可执行文件#include int cgi_hello_world(){ std::cout<<"Content-type:text/html\r\n\r\n"; std::cout\n"; std::cout\n"; std::co

2017-08-16 14:49:29 1556

转载 linux netstat命令简介

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re

2017-08-16 13:09:40 287

原创 CGI简介

CGI,即通用网关接口,属于一个Web服务器提供信息服务的标准接口。浏览器访问web服务器,web服务器可以通过CGI接口获取客户提交的信息,转交给服务器端CGI程序进行处理,最后返回结果给客户端。 CGI系统主要由浏览器的HTML页面已经在服务器上的CGI程序组成。整个通信的采用的是HTTP协议,因此,需要知道浏览器请求执行服务器上的哪个CGI程序就可以。 服务器

2017-08-16 11:10:30 578

原创 HTTP协议结构

HTTP协议无论是请求报文还是回应报文,都分为以下4个部分。(1)报文头(initial line),比如访问百度的例子,”GEThttp://www.baidu.com/favicon.ico  HTTP/1.1”表示用GET方法请求http://www.baidu.com/favicon.ico这个文件,用的是HTTP/1.1协议。(2)0个或者多个请求头(header line)

2017-08-11 16:36:13 669

空空如也

空空如也

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

TA关注的人

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