知愚
码龄9年
关注
提问 私信
  • 博客:197,423
    197,423
    总访问量
  • 27
    原创
  • 1,186,072
    排名
  • 91
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:香港
  • 加入CSDN时间: 2016-04-26
博客简介:

qq_34796146的博客

查看详细资料
个人成就
  • 获得287次点赞
  • 内容获得32次评论
  • 获得1,814次收藏
  • 代码片获得1,662次分享
创作历程
  • 5篇
    2021年
  • 22篇
    2020年
成就勋章
TA的专栏
  • 编程语言
    18篇
  • 项目相关
    6篇
  • 运维部署
    3篇
  • 面试笔试
    10篇
  • 数据挖掘与机器学习
  • 刷题笔记
  • 学术研究
兴趣领域 设置
  • 人工智能
    自然语言处理
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

cmake使用教程(实操版)(六)

一、复杂的例子:模块的使用和自定义模块本节着重介绍系统预定义的Find模块的使用以及自己编写Find模块,系统中提供了其他各种模块,一般情况需要使用INCLUDE指令显示的调用,FIND_PACKAGE指令是一个特例,可以直接调用预定义的模块。其实使用纯粹依靠cmake本身提供的基本指令来管理工程是一件非常复杂的事件,所以,cmake设计成了可扩展的架构,可以通过编写一些通用的模块来扩展cmake.在本章,我们准备首先介绍一下cmake提供的FindCURL模块的使用。然后,基于我们的libhello
原创
发布博客 2021.07.24 ·
712 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

cmake使用教程(实操版)(五)

一、cmake常用指令本节会引入更多的cmake指令。1、基本指令(1)ADD_DEFINITIONS向C/C++编译器添加-D定义,比如:ADD_DEFINITIONS(-DENABLE_DEBUG -DABC),参数之间用空格分隔。如果你的代码中定义了#ifdef ENABLE_DEBUG #endif,这个代码块就会生效。如果要添加其他的编译器开关,可以通过CMAKE_C_FLAGS变量和CMAKE_CXX_FLAGS变量设置。(2)ADD_DEPENGENCIES定义target依赖
原创
发布博客 2021.07.24 ·
1060 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

cmake使用教程(实操版)(四)

一、如何使用外部共享库和头文件使用上一节中构建的共享库。1、准备工作在cmake中创建t4用来存储这一节的资源。2、编码编写源文件main.c如下:t4下的CMakeLists.txt如下:t4下的src下的CMakeLists.txt如下:3、外部构建建立build文件夹,使用cmake …来构建。cmake ..make会的到如下的错误:/backup/cmake/t4/src/main.c:1:19: error: hello.h:没有那个文件或目录4、引入头文
原创
发布博客 2021.07.24 ·
1281 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

cmake使用教程(实操版)(三)

一、静态库与动态库构建本节建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc向终端输出Hello World字符串。安装头文件和共享库。1、准备工作在/backup/cmake中建立t3,用于存放本节涉及到的工程。2、建立共享库指令:cd /backup/cmake/t3mkdir lib在t3目录下建立CMakeLists.txt,内容如下:在lib目录下建立两个两个源文件hello.c和hello.h,在lib的目录下建立CMakeLis
原创
发布博客 2021.07.24 ·
669 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

cmake使用教程(实操版)(一)

cmake使用教程本文主要借鉴《CMake+Pratice》一文,如果造成版权问题请联系作者删除。作者在网络上发现关于cmake的中英文材料都比较少,所以有了整理cmake的入门教程的想法。如果需要深入了解cmake的各种命令,建议在已有的项目中学习。在介绍本文的cmake内容之前,本文将整个使用教程分成七篇文章。一、初识cmake官网:www.cmake.org优点:1、开源代码,使用类BSD许可发布。2、跨平台,并可以生成native编译配置文件,在linux/Unix平台,生成makefi
原创
发布博客 2021.07.24 ·
19160 阅读 ·
9 点赞 ·
1 评论 ·
62 收藏

备忘——CentOS7安装redis

一、安装GCC依赖由于redis是c语言开发的,所有需要gcc编译器进行编译,可以通过gcc -v查看系统的gcc版本,如果没有gcc编译器,则 yum install-y gcc//安装gcc编译器二、下载并解压安装包wget http://download.redis.io/releases/redis-5.0.3.tar.gztar -zxvf redis-5.0.3.tar.gz三、cd到redis解压目录下,执行编译cd redis-5.0.3make四、安装并指定安装
原创
发布博客 2020.11.28 ·
165 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

cmake使用教程(实操版)

cmake使用教程目录一、初识cmakePS:绝大部分使用变量的情况要通过${}引用,而在IF语句中却必须直接使用变量名。官网:www.cmake.org优点:1、开源代码,使用类BSD许可发布。2、跨平台,并可以生成native编译配置文件,在linux/Unix平台,生成makefile,在苹果平台可以生成Xcode,在windows平台,可以生成MSVC的工程文件。3、能够管理大型项目。4、简化编译构建过程和编译过程。cmake的工具链:cmake+make。5、高效率,因为cma
原创
发布博客 2020.10.08 ·
138089 阅读 ·
216 点赞 ·
15 评论 ·
1383 收藏

Effective C++ 改善程序与设计的55个具体做法——条款01

条款01:将C++视为一个语言联邦今天的C++已经是一个多重泛型编程语言,一个同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式的语言。C:。C++以C语言为基础。区块、语句、预处理器、内置数据类型、数组、指针等通通来自C。C语言的局限:没有模板、没有异常处理、没有重载…Object-Oriented C.。包括Classes(包括构造函数和析构函数)、封装、继承、多态、虚函数(动态绑定)。Template C++。模板元编程。STL。STL是一个template程序库。内含容器、迭
原创
发布博客 2020.09.15 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

技术弱点总结

1、linux的文件系统2、io的同步、异步和阻塞3、分布式数据库4、linux底层原理
原创
发布博客 2020.08.26 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++什么类不能被继承

C++什么类不能被继承什么类不能被继承,首先思考派生类继承基类将会发生什么默认操作?派生类在调用自身的构造函数之前需要先调用基类的构造函数。那么我们就让这个不想被别人继承的类的构造函数也无法被派生类构造。现在主要有三种方式阻止类的构造函数被调用,一是,将自身的构造函数与析构函数放在private作用域内;二是,将自身作为一个已存在类的友元类。这两种方式都能阻止派生类的继承(因为自身无法构造函数),第三种,使用C++新特性final。一、将自身的构造函数与析构函数放在private作用域当我们声明一个对
原创
发布博客 2020.08.17 ·
4920 阅读 ·
4 点赞 ·
4 评论 ·
26 收藏

C++——多态的原理与使用

C++——多态的原理与使用C++面向对象的三大特性——封装,继承,多态。本文主要说明多态的实现与原理。C++多态中又有三种方式实现,分别是函数重载、模板函数、虚函数。本文着重说明虚函数实现多态的方式和原理。一、虚函数与多态定义:虚函数指在派生类中重载同名的基类函数,而且可以通过基类指针或者引用来访问基类或者派生类的对象所对应的上述函数。PS:在类定义中,前面有virtual关键字的成员函数称为虚函数。virtual关键字只用在类定义里的函数声明中,写函数体时不用。class Base{ vi
原创
发布博客 2020.08.17 ·
591 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++的关键字const详解

C++的关键字const详解const为常量限定符,用来限定特定变量,告诉编译器该变量只读。习惯性使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。本文主要从四个方面来讨论const:(1)const修饰基本数据类型;(2)const在函数中的应用;(3)const在类中的应用;(4)const修饰类对象,定义常量对象。一、const修饰基本数据类型1、const修饰一般常量及数组const int a=10; <=>(等价) int const
原创
发布博客 2020.08.15 ·
336 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

左值引用与右值引用在移动语义中的使用

左值引用与右值引用在移动语义中的使用本文主要介绍C++11的新特性右值引用,以及右值引用在移动语义上的应用。1、左值引用与右值引用传统C++使用的是左值引用,使得标志符关联到左值。那么什么是左值呢?左值指的是一个表达数据的表达式。常常出现在=的左边,所以经常被称为左值。左值引用:表示数据的表达式,如变量名或者解除引用的指针。左值引用:int n;//n是左值int *pt = new int;//*pt是左值const int b = 101;//b是左值int &rn = n;/
原创
发布博客 2020.08.13 ·
288 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux中进程间的六种通信方式

进程间的通信每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但是内核空间是每个进程共享的所以进程之间要通信必须通过内核。进程间的通信方式主要为管道、消息队列、共享内存、信号量、信号、socket。主要理解各种方式的优缺点和适用场景。1、管道优点:实现简单缺点:不适合进程间频繁的通信底层原理:例子ps auxf | grep mysql上述命令行中的|则是管道,只能单向通信,用完就销毁了,也称匿名管道。匿名管道的创建需要通过下面的系统调用:int pipe(int fd[2])
原创
发布博客 2020.08.05 ·
5954 阅读 ·
3 点赞 ·
0 评论 ·
24 收藏

云服务器centos7安装mysql流程

centos7安装流程1、下载安装包wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar2、tar命令解压tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar3、安装mysql前,需将系统自带的mariadb-lib删除rpm -qa|grep mariadbrpm -e --nodeps mariadb-libs-5.5
原创
发布博客 2020.07.24 ·
189 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++一个简单的单例模式

一、单例模式直接阅读版:#include <bits/stdc++.h>class Singleton {public: ~Singleton() { printf("Singleton deconstruct
"); }; static Singleton& CreateObject() { static Singleton obj; return obj; };private: Singleton() { printf("Singleton c
原创
发布博客 2020.07.06 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++如何在main()函数之前或者之后执行打印操作

一、 gcc下的C语言#include <stdio.h> __attribute((constructor)) void before_main(){ printf("%s/n", __FUNCTION__);}__attribute((destructor)) void after_main(){ printf("%s/n", __FUNCTION__);}int main(int argc, char** argv){ printf("%s
原创
发布博客 2020.07.06 ·
535 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

static关键字C/C++中的使用

C++中static关键字的作用C++中的static关键字用于声明全局共享变量,位于内存中一块单独的全局变量区域内。static声明的变量会一直存在,C++的static在如果在代码块内,则声明的变量只能在代码块内使用,如果static声明不在任何函数内,则可以在此文件中使用。一、static在面向过程中的应用1、静态全局变量内存分配在全局数据区(.bss未初始化.data初始化)、未初始化的静态全局变量会初始化为0且只会初始化一次、静态全局变量只能在文件内访问不能在文件外访问。在其他文件中
原创
发布博客 2020.07.06 ·
571 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

菜鸟筑基——C++四种字符串类型的爱恨情仇

C++字符串详解一、C语言风格的字符串字符串是指使用‘\0’终止的字符串数组。char a[6]={'H','e','l','l','o','\0'};char* b = "Hello"; 以上的字符串在内存中的表示为函数作用strcpy(s1,s2)将s2字符串的内容复制给s1strcat(s1,s2)将s2字符串的内容拼接到s1后面,返回s1...
原创
发布博客 2020.05.04 ·
480 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2020年 暑期实习 字节跳动 后台开发与客户端开发笔试题(第二场 完整版)

接上一个博客。第二道 编程题题目描述:在你面前从左到右摆放了n根长短不一的木棍,你每次可以折断一根木棍,并将折断后得到的两根木棍一左一右放在原来的位置上(即若原木棍有左邻居,则两根木棍必须放在左邻居的右边,若原来木棍有右邻居则摆放在右邻居的左边,所有木棍保持左右排列)。折断后的两根木棍必须为整数,且它们的长度和为原来木棍的长度,你希望最终木棍从做到右递增不减,那么你需要折断多少次木棍呢?输入...
原创
发布博客 2020.04.15 ·
1978 阅读 ·
2 点赞 ·
1 评论 ·
23 收藏
加载更多