- 博客(60)
- 资源 (11)
- 收藏
- 关注
原创 zlib库源码编译
文章目录zlib库源码编译简介源码编译(Windows vs2017)64位版本编译zlib库源码编译简介该篇博客主要用于记录zlib库的源码编译方法。根据自己在源码编译过程中踩得坑进行记录,既便于后续自己学习,也希望能够帮助他人避免重复踩坑。由于目前本人只是完成在Windows 平台使用vs2017进行编译,所以目前只针对该环境进行说明。后续将会继续更新其他编译环境的说明。源码编译(Windows vs2017)64位版本编译zlib源码版本和下载版本为1.2.11版本下载链接:z
2022-04-04 09:52:22
787
原创 Linux主机与Windows虚拟机之间创建共享文件夹
Linux主机与Windows虚拟机之间创建共享文件夹概述该篇博客是在Linux samba配置的基础上,进行Linux主机与Windows虚拟机之间配置共享文件夹的教程。该博客是在一次实际成功的配置基础上进行总结归纳,以便帮助其他人在配置过程中避免一些坑,同时也帮助自己在以后的使用中能够及时回忆,避免每次痛苦的在网上搜索各种教程。共享文件夹设置该部分内容将详细描述Linux samba配置以及windows虚拟机中网络映射的方法。Linux samba的配置方法详见Linux samba配置一
2022-01-27 08:56:39
1799
原创 C++ 聚合类(Aggregate Class)
C++ 聚合类(Aggregate Class)文章目录C++ 聚合类(Aggregate Class)概述聚合类定义聚合类的特性value-initialized聚合类的初始化方法union(聚合)总结概述该篇文章是用于梳理在学习聚合类的相关文章过程中总结归纳的相关知识点。用于后续深入理解和使用聚合类进行准备。聚合类定义首先看一下C++标准中的定义:An aggregate is an array or a class (clause 9) with no user-declared cons
2021-11-25 11:36:59
5700
2
原创 CMAK相关Error解决记录
CMAKE先关Error解决记录文章目录CMAKE先关Error解决记录概述问题记录概述该篇博客将用于记录在使用Cmake的过程中遇到各种问题,已经解决方法和步骤。该篇博客将保持持续更新,用于总结记录Cmake所有相关使用问题。问题记录**Cannot determine link language for target **原因分析:导致该现象的愿意基本是add_library或add_executable语句中的变量引用有错误例如: ADD_EXECUTABLE()中的变量引用没
2021-10-13 20:23:42
400
原创 Pycharm+Anaconda+Qt Designer开发完整配置攻略
PyQT5的使用:Pycharm+Anaconda+Qt Designer开发完整配置攻略文章目录PyQT5的使用:Pycharm+Anaconda+Qt Designer开发完整配置攻略简介配置步骤开发环境配置方法找到Qt Designer路径在Pycharm tools中添加Qt Designer配置PyUIC验证简介使用Qt Designer进行界面设计,效率会非常高,便于优化界面布局。在研究使用Pycharm和PyQT5的过程中,发现Qt Designer,PyUIC配置文章非常多,现结合自
2021-09-20 10:40:49
4235
原创 C++外部模板
C++外部模板文章目录C++外部模板简介参考外部模板的需求外部模板的使用外部模板的使用注意事项外部模板应用举例简介C++外部模板是C++11中一个关于模板性能上的改进。参考深入理解C++11 (下载资源(带完整标签,高清):C++11新特性)外部模板的需求实际上,“外部(extern)”这个概念早在C的时候已经就有了。常见的情况,在一个文件a.c中定义了一个变量int i,而在另外一个文件b.c中想使用它,这个时候就会在没有定义变量i的b.c文件中做一个外部变量的声明。比如:// 声明
2021-09-05 14:38:19
827
原创 C++类模板实例化
C++类模板实例化文章目录C++类模板实例化1. 简介2. 类模板实例化2.1 隐式实例化(Implicit instantiation)2.2 显示实例化(Explicit instantiation)2.3 类模板中的静态成员1. 简介该文章主要总结C++类模板实例化的方法。类模板的实例化包含两种:隐式实例化(Implicit instantiation)显示实例化(Explicit instantiation)2. 类模板实例化类模板本身不是类型、对象或任何其他实体。仅包含模板定义的
2021-09-04 16:11:15
13596
原创 C++ undefined symbol的问题分析和解决办法
文章目录简介系统环境问题详细描述分析方法解决办法简介该篇博客主要记录在C++代码开发过程中,使用多态方式时遇到的undefined symbol的问题的分析和解决过程。系统环境1.编程语言: C++2. 系统版本:Debian93. Cmake:3.6.34. IDE: Qt Creator 5.12.0问题详细描述1. 定义了基类Vehicle,部分函数定义纯虚函数2. 定义了三个子类```Car, Truck, Bus```,并在子类中重载实现基类的纯虚函数3. 运行时报错误:`
2021-03-29 11:16:39
11562
原创 ImportError: No module named ‘setuptools‘的问题解决记录
ImportError: No module named 'setuptools'的问题解决记录 文章目录简介系统环境问题详细描述问题解决过程简介该篇博客主要记录在Linux Debian9系统中安装pyglet库时遇到的问题解决过程记录,方便后续安装环境过程中遇到该问题可根据该方法解决。系统环境Python版本: 3.5.3系统版本:Debian9Pyglet库:1.5.13(下载源码安装)问题详细描述进入pyglet库中包含setup.py的路径执行...
2021-03-19 22:48:01
3622
原创 CMake中引用Boost库
CMake中引用Boost库 文章目录概述CMakeLists.txt编写find_package搜索路径设置用例Boost动态库链接Boost头文件库链接概述在Linux开发时常常使用Boost库,若项目使用CMake进行组织管理和编译,需要掌握在CMake中实现Boost库的引用的基本语法。本片博客结合自己在实际使用过程中的经验进行总结,以期回顾和进行阶段总结。...
2020-03-18 11:51:22
28531
2
原创 CMake目标属性(Properties on targets)
CMake 目标属性 文章目录简介目标属性(Properties on targets)简介本篇博客主要是根据在项目实践以及平常学习CMake语法的过程中积累的一些知识点,进行总结归纳,因此该篇博客将持续更新。目标属性(Properties on targets)以下主要对目标属性进行总结。LINKER LANGUAGE该目标属性用于指定编译器的语言。即当...
2020-03-17 11:34:46
3082
原创 C++11 std::move
C++11 std::move 文章目录概述关键字```std::move```概述错误用例正确用例1正确用例2总结概述本篇博客根据深入理解C++11新特性解析与应用一书中的内容以及自己在使用std::move过程中的经验,总结形成该篇博客,将它整理形成知识。该书我已经高清书签版上传到优快云,为了防止不过,修改了文件名称,下载地址奉上。深入理解C++11新特性解...
2020-03-15 19:30:32
392
原创 error C2275: “XXXX”: 将此类型用作表达式非法
error C2275: “XXXX”: 将此类型用作表达式非法 文章目录问题描述问题现象解决办法问题描述最近在用C语言写一个代码库,由于之前主要使用C++语言,很多时候仍然使用C++语言的一些习惯,导致编译会一些错误。比如error C2275: “XXXX”: 将此类型用作表达式非法,下面将该问题总结分析问题的原因,并给出解决办法。问题现象编译器为MSVC1...
2020-03-14 14:40:19
1338
原创 C++11完美转发
C++11 完美转发 文章目录简介完美转发完美转发的定义使用“万能”引用引用折叠规则完美转发用例简介该篇博客主要介绍C++11中的完美转发,对完美转发的原理和使用方法进行介绍。完美转发完美转发的定义所谓完美转发(perfect forwarding),是指在函数模板中,完全依照模板的参数的类型,将参数传递给函数模板中调用的另外一个函数。比如:temp...
2020-03-13 23:00:11
524
原创 C++11变长模板
C++11变长模板 简介该篇博客主要介绍C++11中的变长模板,对变长模板的原理和使用方法进行介绍。本篇博客参考书籍深入理解C++11新特性解析与应用一书,非常推荐该书作为C++11学习的参考资料,英语好的话更推荐直接阅读C++官网中的关于C++11新特性的介绍。...
2020-03-13 18:40:58
449
原创 C++ 类模板
C++ 类模板 文章目录简介定义类模板使用模板类数组模板示例和非类型参数模板多功能性模板的具体化成员模板将模板用作参数模板类和友元模板别名(C++11)简介本文中的内容主要参考C++ Primer Plus(第6版)中文版一书第14章中的内容。该篇博客主要根据自己使用模板的经验,结合书中的内容,总结类模板的原理和使用方法。定义类模板C++类模板为生成通用的类...
2020-03-13 15:29:57
300
原创 C++函数模板
C++ 函数模板 简介本文中的内容主要参考C++ Primer Plus(第6版)中文版一书中的内容。该篇博客主要根据自己使用模板的经验,结合书中的内容,总结函数模板的原理和使用方法。函数模板概述函数模板是通用的函数描述,它使用泛型来定义函数,然后可以使用具体的类型替换泛型。通过将类型作为参数传递给模板,可使编译器生成该类型的函数。首先函数模板的定义参考下面代...
2020-03-12 22:08:17
220
原创 Boost.preprocessor
Boost.preprocessor总结 简介在项目中发现有使用Boost库中的preprocessor库,而目前中文关于该库的介绍很少,在此根据查看Boost库的参考文档,对于该库的使用根据自己的经验进行总结。本文主要根据Boost的官方帮助文档写的,因此如果英文阅读没有问题的读者建议,直接阅读原文,链接地址如下:Boost官方文档宏定义此部分主要介绍p...
2020-03-11 11:33:48
1019
原创 C++11就地初始化与列表初始化
C++11就地初始化与列表初始化 就地初始化简介在C++11之前,只能对结构体或类的静态常量成员就行就地初始化,其他的不行。如下代码所示:class Test{ private: static const int a=10; //yes int a=10; //no}在C++11中,结构体或类的数据成员在申明时可以直接赋予...
2020-03-11 10:09:13
629
原创 C/C++中的宏定义及#和##的作用
在宏定义中经常看到符号#和##的使用,该篇博客就结合宏定义的展开方式说明这两种符号的具体作用。用法说明 #define f(a,b) a##b // (1) #define g(a) #a // (2) #define h(a) g(a) // (3) 在上述三个宏定义中使用了符号#和##,使用上述宏如下代码所示 ...
2020-03-10 22:14:24
1190
原创 Windows系统使用zlog纯C日志库
zlog日志库 概述zlog是一个可靠,高性能,线程安全,灵活,清晰模型的纯C日志记录库。实际上,在C语言世界中,没有像Java中的logback或c ++中的log4cxx这样的应用程序的良好日志记录库。 使用printf可以工作,但是不能轻松地重定向或重新格式化。 syslog很慢,仅供系统使用。 所以我写了zlog。 它比log4c更快,更安全,更强大。 ...
2020-02-26 21:44:18
2958
3
原创 Qt在pro文件中配置条件编译
Qt在pro文件中配置条件编译 概述该篇博客主要总结梳理Qt项目在pro文件中如何实现条件编译。通过定义宏在pro文件中可以通过DEFINES定义宏变量,如下述代码所示: DEFINES += TEST当在pro文件中定义上述宏后,可以通过以下代码判断是否定义该宏: contains(DEFINES, TEST) { message('--...
2020-02-20 10:32:55
2064
原创 安装VMware tools
概述该篇博客主要总结梳理在VMware workstation上安装LLinux虚拟机之后,安装vmware-tools的方法。windows系统虚拟机暂时没有安装过,待以后补充。安装方法在VMware workstation软件界面的工具栏选择安装VMware tools在系统中打开Files,此时在Files界面的左边可以看到VMware tools的选项,点击进入该路径使用命令t...
2020-02-16 09:43:30
223
原创 Git 分支管理
概述本篇博客主要是总结归纳使用Git进行分支管理的命令和知识。分支管理相关命令查看当前所有分支命令:git branch -a创建本地新分支:```git checkout -b 分支名 origin/原分支名切换分支命令:git checkout 分支名删除本地分支:git checkout -d 分支名查看当前使用的分支:git branch,若有多个分支,则分支名前有符号*的...
2020-02-05 14:11:25
172
原创 Doxygen代码注释
JavaDoc-style函数的注释举例如下:/** * A brief history of JavaDoc-style (C-style) comments. * * This is the typical JavaDoc-style C-style comment. It starts with two * asterisks. * * @param theory Eve...
2020-01-01 23:03:52
245
原创 C语言中typedef的用法
C语言中typedef的用法概述首先请看下图中对typedef的几种用法介绍为已有类型创造别名是typedef最常见的用法,所以下面重点介绍typedef掩饰复合类型的用法掩饰复合类型该用法可以用于数组和指针。隐藏数组例如:char line[81];char text[81];定义一个typedef,每当要用到相同类型和大小数组时,可以这样typedef char Line...
2019-12-30 09:53:52
222
原创 CMake学习笔记
CMAKE_POSITION_INDEPENDENT_CODE该值是POSITION_INDEPENDENT_CODE的默认值。此变量用于初始化所有目标上的POSITION_INDEPENDENT_CODE属性。有关其他信息,请参见该目标属性。如果设置,则try_compile()命令也会使用该值。POSITION_INDEPENDENT_CODE是否创建与位置无关的目标。POSITI...
2019-11-13 17:16:56
2521
原创 Visual Studio Code插件 Project Manager
在Linux系统下使用Visual Studio Code进行软件开发,项目切换常常令人觉得繁琐。插件Project Manager可以很方便快捷的达到其他IDE快速切换项目的目的。以前的方式在工具啦中点击文件,打开,选择本地项目的目录;如果有最近打开的项目,点击打开最近的文件这两种方式对于需要经常切换项目时,比较繁琐,因此为解决这个问题,Visual Studio Code提供了项目...
2019-11-07 22:23:19
2826
原创 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
原创 Win10共享文件提示与管理员请求访问权限的解决方法
声明为了省事,图片直接从系统之家网站取用的。原地址为:http://www.xitongzu.com/jc/27789.html问题概述在Win10系统上共享文件,对于我们来说,都不会陌生,因为大家或多或少都有接触过,而有用户在Win10系统上共享文件的时候,碰到“没有权限访问文件夹。请与网络管理员联系请求访问权限”的提示,然后共享失败,接下来为大家提供解决办法。解决办法在共享的...
2019-10-27 14:04:08
15810
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
3547
原创 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
原创 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
345
原创 C++operator()(重载小括号运算符)
在C++语言中有时候需要重载运算符: (),今天我们主要介绍它主要应用的场合。仿函数先考虑一个简单的例子:假设有一个vector,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: bool LengthIsLessThanFive(const string& str) { return str.length() <...
2019-09-24 22:57:47
26170
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
9598
原创 C++模板类型推导
模板类型推导对于模板函数来书,编译器需要根据实际传入的参数来推导模板类型T。例如,假设我们有下面这个模板函数:tempalte<typename T>void f(T& param); // param si a reference同时声明了这些变量:int x = 27; // x is an intconst int cx = x; // cx is ...
2019-09-23 22:37:46
1190
原创 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
20223
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
Linux下pyglet-1.5.13安装库
2021-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人