- 博客(15)
- 收藏
- 关注
原创 Linux中源码安装protocbuf 和protobuf-c
首先安装protocbufprotocbuf下载路径:https://github.com/protocolbuffers/protobuf/releases按照下面步骤安装:#解压tar xzf protobuf-all-3.11.4.tar.gz#编译并安装cd protobuf-all-3.11.4./configure --prefix=/usr/local/protobu...
2020-03-19 11:21:52
502
原创 C/C++中typedef的使用(类似C++前向声明)
平时开发过程中使用typedef时,该类型(struct class)的变量都已经定义了,所以再使用时无论初始化对象还是指针 引用,都可以正常使用。但是当使用typedef定义一个只有声明没有定义的一个类型的别名时,我们可以定义这个类型的指针和引用,但是不能定义这个类型的变量,因为定义变量时,会去分配内存,而此时该类型只有声明没有定义,编译时会报错。这里的使用方式和c++中的前向声明类似#i...
2020-03-06 11:55:20
445
原创 共享内存中不能存储---类中有申请空间的类对象
背景有一个需求,作为客户端需要从redis集群中获取数据。出于性能的考虑,再客户端初始化阶段,初始化了一个redis连接,后续在连接redis时,可以直接使用该连接,不用再去重新连接redis了。(这里指的连接其实就是初始化一个类对象,然后根据ip+prot连接redis集群)但是这样的操作有一个问题就是,当有多个客户端连接redis集群时,由于连接数过多,达到redis节点连接数的限制(默认...
2019-12-31 10:16:12
329
原创 c语言中atoi函数的使用
函数功能扫描一个字符串的字符,直到第一个不为数字的字符为止,扫描到的字符串转换为数字。若字符串首字母不是数字字符,则返回0测试程序#include <iostream>#include <stdlib.h>using namespace std;int main(){ cout<<atoi("123456")<<endl; ...
2019-12-23 11:46:36
818
原创 linux中通过信号实现定时操作
#include <stdio.h>#include <string.h>#include <unistd.h>#include <signal.h>void test(){ printf("this is a test\n");}void func(int a){ test(); alarm(5);//5s后...
2019-12-19 15:49:56
313
原创 strptime和strftime互转时间
strptime :将格式化的字符串解析存储到struct tm结构中去strftime :将struct tm结构格式化为指定字符串代码示例#include <iostream>#include <time.h>#include <string.h>using namespace std;int main(){ const char *...
2019-12-19 11:38:00
270
转载 解决git pull/push每次都需要输入密码问题(转载)
原文链接:https://blog.youkuaiyun.com/m0_37633370/article/details/90439113
2019-12-19 09:36:52
159
原创 shell DIY配置
一些快捷的操作alias l=‘ls -alF’alias …=‘cd …’alias …=‘cd …/…’alias rm=‘rm -f’实时显示当前操作的路径cd -vim .bashrc#添加下面这一行,然后保存,然后执行source .bashrc #使之生效export PS1='\[\e[35;40m\][\u@:$PWD]\$: \[\e[m\]'配置示例...
2019-12-19 09:11:06
139
原创 VIM编辑器的简单配置及使用
这里写自定义目录标题vim配置配置vim使用批量替换字符串vim配置配置vim /etc/vimrcset nuset smartindentset tabstop=4set shiftwidth=4set expandtabset softtabstop=4vim使用批量替换字符串:%s/源字符串/目的字符串/g...
2019-12-18 20:52:58
87
原创 使用boost库获取线程id
在C语言中打印#include <boost/thread.hpp>const char* getThreadId(){std::string threadId=boost::lexical_caststd::string(boost::this_thread::get_id());return threadId.c_str();}C++中直接使用cout输出即可#in...
2019-12-18 18:02:49
1201
原创 使用mqopen mq_receive mq_close和sem_open sem_wait sem_post给不同进程发送任务去执行
mqopen mq_receive mq_close和sem_open sem_wait sem_post联合使用#include <stdio.h>#include <semaphore.h>#include <mqueue.h>#include <unistd.h>#include <string.h>#include "...
2019-11-26 11:23:00
309
原创 boost::function参数为空时,可以接收boost::bind有参数的函数
代码示例:#include<boost/function.hpp>#include<boost/bind.hpp>#include<iostream>typedef boost::function<int(int)> Func;int test(int num,char ch){ std::cout<<num<&...
2019-08-06 11:23:56
292
转载 源码安装git-2.20.1版本
参考这个链接https://www.cnblogs.com/gsliuruigang/p/7899803.html这里有可能找不到configure这个文件,这里我们需要再解压的路径下执行make configure这个命令,执行后,再继续执行./configure --prefix=/usr/local/git后面就按照链接里面说的来即可!...
2019-07-24 09:19:35
151
原创 分级别打印日志
#文件log.h该文件中定义了打印日志的接口。#ifndef _LOG_H_#define _LOG_H_#define INFO_OUTPUT 3#define WARNING_OUTPUT 2#define DEBUG_OUTPUT 1#define ERROR_OUTPUT 0#define LOG_INFO(args,...)\do{\...
2019-05-23 14:29:01
617
转载 github 上传以及git push代码遇到:refusing to merge unrelated histories
git push代码遇到:fatal: refusing to merge unrelated histories 则直接运行以下步骤: (原因在于你github上有README 而本地没有,导致远程分支和本地分支不一样) git pull --rebase origin master(这样会在本地仓库新建一个readme文件这样就可以了) git push -u origin master...
2018-11-22 20:54:07
169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人