
总结
文章平均质量分 83
jinzhu1911
认认真真干活,踏踏实实做事!
展开
-
Windows系统使用zlog纯C日志库
zlog日志库 概述zlog是一个可靠,高性能,线程安全,灵活,清晰模型的纯C日志记录库。实际上,在C语言世界中,没有像Java中的logback或c ++中的log4cxx这样的应用程序的良好日志记录库。 使用printf可以工作,但是不能轻松地重定向或重新格式化。 syslog很慢,仅供系统使用。 所以我写了zlog。 它比log4c更快,更安全,更强大。 ...原创 2020-02-26 21:44:18 · 2961 阅读 · 3 评论 -
CMake学习笔记
CMAKE_POSITION_INDEPENDENT_CODE该值是POSITION_INDEPENDENT_CODE的默认值。此变量用于初始化所有目标上的POSITION_INDEPENDENT_CODE属性。有关其他信息,请参见该目标属性。如果设置,则try_compile()命令也会使用该值。POSITION_INDEPENDENT_CODE是否创建与位置无关的目标。POSITI...原创 2019-11-13 17:16:56 · 2522 阅读 · 0 评论 -
Visual Studio Code插件 Project Manager
在Linux系统下使用Visual Studio Code进行软件开发,项目切换常常令人觉得繁琐。插件Project Manager可以很方便快捷的达到其他IDE快速切换项目的目的。以前的方式在工具啦中点击文件,打开,选择本地项目的目录;如果有最近打开的项目,点击打开最近的文件这两种方式对于需要经常切换项目时,比较繁琐,因此为解决这个问题,Visual Studio Code提供了项目...原创 2019-11-07 22:23:19 · 2828 阅读 · 0 评论 -
Linux使用mount命令挂载windows共享文件夹
概述Linux系统版本为Deian9.9。共享文件是在win10系统下设置的共享文件夹,首先需要确保共享文件夹设置正确。可以参考我的另一篇博客,地址如下:Windows下共享文件夹的正确设置使用mount命令挂载首先需要确保linux终端上ping命令可以ping通windwos系统;在Linux系统的某个路径下创建挂载目录;执行以下命令:mount -t cifs //192.16...原创 2019-10-27 15:26:20 · 1841 阅读 · 0 评论 -
Win10共享文件提示与管理员请求访问权限的解决方法
声明为了省事,图片直接从系统之家网站取用的。原地址为:http://www.xitongzu.com/jc/27789.html问题概述在Win10系统上共享文件,对于我们来说,都不会陌生,因为大家或多或少都有接触过,而有用户在Win10系统上共享文件的时候,碰到“没有权限访问文件夹。请与网络管理员联系请求访问权限”的提示,然后共享失败,接下来为大家提供解决办法。解决办法在共享的...原创 2019-10-27 14:04:08 · 15818 阅读 · 2 评论 -
Xshell连接错误:Could notconnect to '192.168.18.128' (port 22): Connection failed.
Xshell连接错误:Could notconnect to ‘192.168.18.128’ (port 22): Connection failed.找了度娘,谷歌中的一些方案,都没能解决,现在把我这里的解决方案进行一个记录和总结希望对您有多收获: ### 尝试解决方法:重新启动Debian系统;重启VMware;防火墙问题:查看防火墙:service iptables st...原创 2019-10-26 14:48:17 · 3548 阅读 · 0 评论 -
SSH服务器拒绝了密码。请再试一次
问题:SSH服务器拒绝了密码。请再试一次环境:虚拟机:VMware VirtualBox;系统:Debian;远程登录工具:XShell5;密码正确,一直登不了。在网上搜了很多微博,也没有解决问题,诸如网络连接、和本机处于同一个局域网、root下 vim /etc/ssh/sshd_config去修改#Authentication:的参数以及修改端口、sudo reboot重启系统...原创 2019-10-26 14:22:57 · 2283 阅读 · 3 评论 -
Windows系统下使用Boost库
Boost库简介Boost程序库代表了目前C++语言最新最前沿的技术,内容博大精深,丝毫不逊于经典的STL,但同时也令很多人难以摸清门路,不得登堂入室而一窥究竟。有鉴于此,根据自己在实际开发中使用Boost库的经验并结合最新的C++11进行归纳总结,写此博客整理知识点。Boost官网见:https://www.boost.org/Boost库安装Boost库既可以选择下载源代码自编译安装,...原创 2019-10-16 22:45:54 · 862 阅读 · 0 评论 -
lambda函数
lambda是一种函数编程范型。C++是在C+11中开始支持lambda语法。lambda函数简介下面来看一下C++中使用lambda的语法形式:代码1int main() { int girls = 3, boys = 4; auto totalChild = [](int x, int y)->int{ return x + y; }; return t...原创 2019-09-25 09:29:34 · 346 阅读 · 0 评论 -
C++operator()(重载小括号运算符)
在C++语言中有时候需要重载运算符: (),今天我们主要介绍它主要应用的场合。仿函数先考虑一个简单的例子:假设有一个vector,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: bool LengthIsLessThanFive(const string& str) { return str.length() <...原创 2019-09-24 22:57:47 · 26177 阅读 · 6 评论 -
C++ std::function介绍和使用
std::function简介std::function是C++11中新引入的模板类。类模板std::function是一种通用的多态函数包装器。std::function可以存储,复制和调用任何Callable 目标的实例,例如函数,lambda表达式,绑定表达式或其他函数对象,以及指向成员函数和指向数据成员的指针。所存储的可调用对象被称为目标的std::function。如果一个std:...原创 2019-09-24 22:08:19 · 9604 阅读 · 0 评论 -
Debian(Linux)系统Samba安装和配置
samba安装root用户下直接使用以下命令 apt-get install samba若是普通用户下使用以下命令 sudo apt-get install smabasamba配置samba的配置文件在/etc/samba/路径下,文件名为smb.conf,注意需要root用户权限才能编辑该文件,我是用root用户下使用vim进行编辑修改的。在文件末尾添加以下内容...原创 2019-09-07 11:35:44 · 20230 阅读 · 2 评论 -
debian(Linux) gnome-control-center
参考链接:http://iokevins.blogspot.com/2015/09/gnome-3-system-settings-gnome-control.html问题今天在simba配置完成后,gnome-control-center无法正常起动,提示Execution of "gnome-control-center" failed:Failed to execute child ...原创 2019-09-07 11:34:57 · 2783 阅读 · 0 评论 -
Windows系统 Github使用教程
本地建立仓库新建文件夹进入该文件夹,右击鼠标并选择Git Bash Here输入命令:git init,该命令可以初始化一个空的git仓库在相应目录里可作出自己需要的修改,如:新建一个叫Listening.md的文件输入命令:git add Listening.md。这一步可以把修改提交到暂存区正式提交到仓库,输入命令git commit -m “Listening.md”(-m代表...原创 2019-08-14 22:50:22 · 773 阅读 · 0 评论 -
Linux系统Vim配置
Vim配置文件建立Vim配置文件vim ~/.vimrc该命令建立的配置文件在/home/user/路径下,并且该文件隐藏。若要查看该文件是否在该目录,则使用命令ls -al,则可以在该路径下看到该文件的信息。添加配置语句显示行号 : set nu语法高亮 syntax on高亮搜索 set hlsearch...原创 2019-09-04 22:34:49 · 220 阅读 · 0 评论 -
RAII机制原理分析
本文转载自:https://blog.youkuaiyun.com/wozhengtao/article/details/52187484前言 RAII的基本思想就是当对象的生命周期结束时,自动调用起析构函数。那以下将围绕RAII,全面的讲解RAII的相关知识。什么是RAII RAII的英文全拼是...转载 2018-12-12 22:18:06 · 3902 阅读 · 0 评论 -
CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别
看了好多网上的文章,都说PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。实际不然。一般来说,都是这样用cmake ./这样PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR是等价的。也就是当前源码的目录。如果执行cmake的时候,并不在源码的路径的话,比如cmake ../src这样的好处是cmake生成的文件...转载 2019-04-23 13:34:08 · 7134 阅读 · 0 评论 -
C++11右值引用、完美转发foward、可变模板参数实例
本文转载自https://blog.youkuaiyun.com/jirryzhang/article/details/82960080#include <iostream>using namespace std;struct A{ int x; A(int _x):x(_x){ cout<<"A constructor, x="<...转载 2019-05-10 09:21:46 · 332 阅读 · 0 评论 -
Linux系统cmake命令安装eigen3库
源代码准备可以在该网址上下载源代码压缩包 eigen3源代码网址上述网址也是学习eigen3使用方法的网址编译前准备eigen3.tar.gz压缩包在/home/li/Download(只是举例,可以放在自己定义的路径下)路径下tar -xzvf eigen3.tar.gz 该领命将压缩包解压到当前路径下即/home/li/Download/eigen3使用touch命令在/ho...原创 2019-07-10 04:26:27 · 5629 阅读 · 3 评论 -
C++ const的用法
本文总结C++语法中关键词const的所有用法。函数重载中的用法常成员函数和非常成员函数之间的重载首先先回忆一下常成员函数声明:<类型标志符>函数名(参数表)const;说明:(1)const是函数类型的一部分,在实现部分也要带该关键字。(2)const关键字可以用于对重载函数的区分。(3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函...原创 2019-08-19 20:33:28 · 151 阅读 · 0 评论 -
总结CMake设置编译选项
在cmake脚本中,设置编译选项可以通过add_compile_options命令,也可以通过set命令修改CMAKE_CXX_FLAGS或CMAKE_C_FLAGS。使用这两种方式在有的情况下效果是一样的,但请注意它们还是有区别的:ADD_COMPILE_OPTIONS命令添加的编译选项是针对所有编译器的(包括C和C++编译器)set命令设置CMAKE_C_FLAGS或CMAKE_CXX...原创 2019-08-24 09:54:10 · 17709 阅读 · 0 评论 -
Boost库解析JSON文件用法总结
JSON语法浅析JSON 语法是 JavaScript 语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON值数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)nullJSON对象对象可以包含多个名称/值对{ "firstName":"John" , "lastName":...原创 2019-08-24 11:46:08 · 5565 阅读 · 0 评论 -
C++强类型枚举
传统枚举类型的缺点非强类型作用域 enum Type { General, Light, Medium, Heavy }; enum Category { General, Pistol, MachineGun, Cannon };由于General都是全局的名字,因此编译会报错。允许隐式转换为整型占用存储空间符号性不确定C++11引入的强类型枚举(strong-typed...原创 2019-08-20 23:11:18 · 480 阅读 · 0 评论 -
C++ inline关键字
1. inline的作用在预编译的时候,编译器将程序中出现的内联函数的调用表达式的地方,直接插入用内联函数的代码2. 内联机制内联函数的“可调式”不是说它展开后还能调试,而是在程序的Debug版本里它根本就没有真正内联,编译器像普通函数那样为它生成含有调试信息的可执行代码。在程序的Release版本里,编译器才会实施真正的内联。3. 替代C中表达式形式的宏定义(macros)对于...原创 2019-08-25 13:50:20 · 406 阅读 · 0 评论 -
Linux系统 Debian Git安装与配置教程
Git安装首先进入root模式在安装新软件包之前,应该始终更新一下apt软件包索引: apt-get update安装Git apt-get install gitGit配置现在已经安装了Git,建议设置Git提交电子邮件和用户名: git config --global user.name "Your Name" git config --global ...原创 2019-08-26 10:56:23 · 2752 阅读 · 0 评论 -
C++11 类型推导 auto
静态类型和动态类型的区别静态类型的类型检查主要发生在编译阶段动态类型的类型检查主要发生在运行阶段关键字auto传统auto是一个存储类型指示符(storage-class-specifier),使用auto修饰的变量是具有自动存储期的局部变量,而C++11中auto是作为一个新的类型指示符(type-specifier),它声明的变量的类型必须由编译器在编译时期推导而得。int ma...原创 2019-08-26 22:45:46 · 599 阅读 · 0 评论