- 博客(81)
- 资源 (9)
- 收藏
- 关注
原创 es pipeline
PUT _ilm/policy/rtc_logs_policy{ "policy": { "phases": { "hot": { "min_age": "0ms", "actions": { "rollover": { "max_age": "1d" }, ...
2021-09-30 10:24:10
312
原创 mysql修改密码
1.启动mysqlmysqld_safe --skip-grant-tables2.清空mysql密码# mysql -u rootmysql> use mysql;mysql> update user set authentication_string='' where user='root';mysql> select Host,User,authentication_string from user;mysql> flush privilege.
2020-09-22 12:58:19
265
原创 linux下的搜索路径设置
1.include头文件路径除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径(也可以在编译命令中通过 -I来指定): #C export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH # CPP exportCPLU...
2019-04-05 11:06:10
2546
原创 centos7.6安装博通无线网卡驱动
1.前言之前工作一直使用centos环境,家里的的笔记本使用win7系统一直很卡,所以把系统换成了centos最新版本。发现无线网卡使用不了,之前安装的ubuntu无线网是可以直接使用的的,centos驱动支持方面还是不太好。就自己找资料终于安装成功了。2.系统配置查看系统版本:lsb_release -a查看无线网卡型号:lspci | grep -i Network...
2019-04-04 14:03:21
4380
5
转载 TCP/IP编程之SO_REUSEADDR和SO_REUSEPORT套接字选项
基本概念:SO_REUSEADDR套接字选项能起到以下4个不同的功用:(1)SO_REUSEADDR允许启动一个监听服务器并捆绑众所周知端口,即使以前建立的该端口用作它们的本地端口的连接仍存在。这个条件通常是这样碰到的:a)启动一个监听服务器;b)连接请求到的,派生一个子进程来处理这个客户;c)监听服务器终止,但子进程继续为现有的连接上的客户提供服务;d)重启监听服务器...
2019-03-18 15:46:13
346
原创 std::bind参数中隐式类型转换的问题
#include "ConnectHelper.h"#include "ConnectCmd.h"class mystr{public: mystr() { LOG_INFO("create str"); _str = ""; } mystr(const char * str) { LOG_INF...
2019-03-18 15:46:00
565
原创 配置文件读取
config_parser.h:#ifndef CONFIG_PARSER_H#define CONFIG_PARSER_H#include <exception>#include <stdio.h>#include <string>#include <map>class ConfigValue{public: Con...
2019-03-18 15:45:42
253
原创 程序如何影响VIRT(虚存)和RES(实存/常驻内存)
在Linux命令行中执行top命令,可以查询到所有进程使用的VIRT虚拟内存、RES常驻内存和共享内存SHR。那么,什么是VIRT虚拟内存、RES常驻内存和共享内存SHR?我们编写的Linux C++程序如何影响它们呢?查阅资料后,归纳一下。VIRT:1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;2、假...
2019-03-18 15:45:17
1768
原创 查找符号所在的库
#! /bin/bashfunction findobj(){ for file in `ls $1` do if [ -d $1"/"$file ] then findobj $1"/"$file $2 else result=`readelf -s $1"/"$file 2>...
2019-03-18 15:45:03
793
原创 虚析构函数
#include <stdio.h>#include <memory>#include <string>using namespace std;struct Base{public: Base(const std::string & name):m_name(name) { printf("Create ...
2019-03-18 15:44:37
183
原创 linux守护进程
#include <unistd.h>#include <stdio.h>#include <string.h>#include <fcntl.h>#include <errno.h>#include <limits.h>#include <sys/wait.h>#include <sy
2019-03-18 15:43:51
298
原创 僵尸,孤儿进程探秘
正常程序:#include <sys/wait.h>#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <errno.h>#include <string.h>int main(){ printf("this is ma...
2019-03-18 15:43:20
168
原创 tcp自连接
#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <string>#include <stdio.h>int main(){ int sockfd = sock...
2018-09-11 11:08:15
288
原创 CMAKE使用一些技巧
1.动态库去掉前缀SET(CMAKE_SHARED_LIBRARY_PREFIX "")2.去掉RPATHSET(CMAKE_SKIP_BUILD_RPATH TRUE)
2018-03-31 14:00:07
705
转载 linux top命令VIRT,RES,SHR,DATA的含义
VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、如果申请100m的
2018-01-08 16:12:09
366
转载 探讨CMake中关于RPATH的使用
最近研究CMake,发现CMake对于RPATH的管理也非常人性化。官方说法是当动态库的编译也和执行档在同级目录下的时候,CMake会自动给执行档加入适当的RPATH.具体可以通过readelf -d executable来查看相关的RPATH路径。所以有的时候用QMake编译之后还得手动加一把LD_LIBRARY_PATH,而用CMake编译之后,直接执行执行档就可以了。 相关RP
2017-12-19 14:54:09
3851
转载 数据库范式
第一范式的意思是:数据表中的字段都是不可分割的,原子的。第一范式是最简单的,也是必需的。我想你应该明白。第二范式:在第一范式的基础上,数据表中各字段和主键之间不存在部分依赖。例如:数据表中存在字段组成,其中组合在一起构成主键。如果学生的姓名不重复的情况下,那么就存在部分依赖。第三范式:第二范式的基础上,不存在传递依赖。 所谓传递依赖是指:例如:数据表中存在字段组成,其中是主键。如果学生的姓名不重复
2017-11-01 09:14:52
345
原创 最近在排查一个core问题,对dmesg的时间戳,做了一个转化工具
#!/bin/bashuptime_ts=`cat /proc/uptime | awk '{ print $1}'`#echo $uptime_tsdmesg | awk -v uptime_ts=$uptime_ts 'BEGIN { now_ts = systime(); start_ts = now_ts - uptime_ts; #...
2017-10-30 10:27:19
1144
原创 判断两单链表是否相交
#include struct Node{ int data; struct Node * next;};struct Node * FindLoopPort(struct Node * head){ struct Node * slow = head, *fast = head; while(fast && fast->next ) {
2017-10-30 09:56:50
320
原创 UDP广播
1.服务器代码#include #include #include #include #include int main(){ int sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if(sockfd == -1) { printf("create socket failed.\n")
2017-07-18 14:46:17
353
原创 24点解法
#include #include #include class fraction{public: fraction(int numerator, int denominator = 1) { if(numerator%denominator == 0) { numerator_ = numerator/denom
2017-06-20 10:29:37
594
原创 程序运行些writeinfo
void writeinfo(uint32_t id, const char * hostname){ uint32_t curPid; curPid = getpid(); std::vector strMsgs; { std::string strMsg; base::sprintfex(strMsg, "%s - pid=%d,
2017-03-15 11:26:07
1076
原创 联系人名称排序
#include #include #include using namespace std;class Name{public: Name(const std::string & name):_name(name) { } const char * data() const { return _name.c_str();
2017-03-07 13:58:03
669
原创 联系人名称排序
#include #include #include using namespace std;class Name{public: Name(const std::string & name):_name(name) { } const char * data() const { return _name.c_str();
2017-03-07 11:06:32
702
转载 批处理for语句
批处理是一门简单的脚本语言,虽然不能独当一面,但是,若作为工作中的辅助工具,绝对会让大家有随用随写、称心如意的畅快感。 和其他语言相比,批处理语言有其先天性的优势: 1、系统自带,无需另行安装; 2、命令少,语句简洁,上手非常快; 3、编写出来的脚本小巧玲珑,随写随用; 但是,因为它以命令行方式工作,操作多有不便,在图形界面大行其道的windows世界里,
2014-08-20 13:48:54
1254
转载 DOS下批量改文件名
最近在做Adaboost的样本库,从网上下载了大量的图片,为方便读取和管理,必须把这些图片的名字规范成统一的格式。我上网查了一下,使用最多的批量改名方法是全选所有文件之后修改某一个文件的名字(如改成temp),回车,其余的文件名就自动改成了temp(1),temp(2),temp(3)(后缀省略)......但是这些括号是不被c++认可的,怎么办呢?我想到了以前清理垃圾用的dos批处理命令,隧上网
2014-08-13 14:31:13
7322
转载 无法附加到进程
无法附加到进程。 在连接到此计算机期间服务器上的调试器组件接收了被拒绝的访问。导致此错误的常见方案有两个:方案 1:计算机 A 运行 Windows XP。 计算机 B 正在运行 Windows Server 2003。 计算机 B 上的注册表包含以下 DWORD 值:HKLM\Software\Microsoft\MachineDebugManager
2014-05-23 11:08:09
5358
原创 半质数的个数
#include #include #include int getNum(int x, int y){ if(x y) return 0; bool * bPrime = (bool *)malloc(y * sizeof(bool)); bPrime[0] = false; bPrime[1] = false; for(int i = 2; i < y; i++)
2014-02-17 15:30:03
1712
原创 最少操作次数
之余看到pongo网上有这么一题,便想了一下,其实比我想象的要简单。不是学生,没有在pongo网上测试题目:给定两个字符串,仅由小写字母组成,它们包含了相同字符。 求把第一个字符串变成第二个字符串的最小操作次数,且每次操作只能对第一个字符串中的某个字符移动到此字符串中的开头。 例如给定两个字符串“abcd" "bcad" ,输出:2,因为需要操作2次才能把"abcd"变成“bcad" ,方
2014-02-17 11:00:42
4226
原创 全局变量初始化顺序
全局变量的初始化一般是根据定义的先后顺序来的,下面有个例子证明(写程序时最好不要出现顺序问题)#include #include class Test{public: static char * _initPTR() { char * p = new char[256]; strcpy(p, "hello, world"); return p; } static
2014-01-07 12:59:21
1322
原创 redmine介绍
以下内容属于摘抄,供个人参考。基本介绍Redmine是一个开源的、基于web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时它支持多项目管理。Redmine是一个自由开放源码软件的解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制的选项的支持。模块介绍概述:该页面提供一个关于该项目的总体概述。其中问题跟踪标签的列出了每种类
2013-09-17 17:20:03
5757
原创 PSTN设备
PSTN设备(接口通道设备)(中继设备):指各种类型的速率为 64kbps 的电信接口话路,通过子类型来区分不同的接口类别。数字接口设备主要是用来完成各种PSTN信令的信令分析,每一个设备代表一个通道。注意:中继设备只和Voice和Trunk设备直接打交道;
2013-09-16 16:56:24
1634
原创 keygoe摘要--系统处理该函数的过程
步骤1:Keygoe 系统收到API 打开设备命令,先检查设备主类型,设备子类型是否合法,及是否有空闲的服务流程供使用,失败则返回通用失败事件并结束处理,成功则转步骤2 或步骤3。步骤2:当指定了该设备的模块ID 号、设备通道号时,直接检查该设备通道是否空闲。当该设备通道已被占用(即已经被打开),则返回占用设备失败事件;当该设备通道空闲,则设置为占用,并将该设备通道与一个空闲的
2013-09-06 11:01:34
722
原创 keygoe摘要--deviceID
/*DeviceID_t*/typedef struct{ DeviceMain_t m_s16DeviceMain; /*device main type*/ DeviceSub_t m_s16DeviceSub; /*device sub type*/ ModuleID_t m_s8ModuleID; /*dev
2013-09-06 10:55:58
771
转载 可变参数及可变参数宏的使用
我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,这里将介绍可变函数的写法以及原理.* 1. 可变参数的宏一般在调试打印Debug 信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC 也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____
2013-08-23 14:11:23
622
原创 有符号和无符号导致的问题
前言写程序的可能会经常碰到一些奇怪的问题,表面上看真是发现不了一点问题。其实可以检查一下是否是类型有符号和无符号导致的问题。有符号的0-1=-1,无符号的0-1可就不是等于1,这个问题大家都知道,一到实际应用起来,往往就忽略了这个差别。下面列举一些自己写程序遇到的这个问题,仅供个人编程的一个警钟。1. 下面是一个有问题的程序,请有兴趣的同志更正template size_t
2013-07-01 16:35:05
782
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人