上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页
摘要: 今天遇到这样一个问题,就是函数的一个参数类似这样的 vector<int> *p 。开始还觉得有点怪怪的。 其实是这边项目中有个代码规范,如果传引用,就要一定要使用const进行修饰,为了能够在函数类能够修改传入的东西 所以就传入了一个类似vector< int > *p的指针。 其实对与p中的元素 阅读全文
posted @ 2020-08-11 11:59 cyssmile 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 今天自己用CMake搭建一个项目时,其中用到了多线程 在make的时候报了 undefined reference to `pthread_create'这个错误,网上很多都是说lpthread 不是linux下默认的库之类的。 只需要在编译的时候加上-lpthread参数。虽然可以解决问题,但是这 阅读全文
posted @ 2020-08-11 10:30 cyssmile 阅读(2983) 评论(0) 推荐(0) 编辑
摘要: 1.首先修改本机/etc/hosts文件 添加类似这样的,前面的是IP,IP可以通过ifconfig 查看 ,后面的分别是本机和服务器端的主机名 192.168.82.129 localhostname 192.168.64.21 serverhostname 2.生成公私钥对 cd ~/.ssh 阅读全文
posted @ 2020-08-04 16:44 cyssmile 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 使用条件变量的最经典的场景就是生产者和消费者 1.最普通的生产者和消费者代码 #include<iostream> #include<deque> #include<thread> #include<mutex> #include<functional> using namespace std; s 阅读全文
posted @ 2020-08-02 23:03 cyssmile 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.一般的lock()和unlock() 一般的我们会写出这样的代码 std::mutex mu; mu.lock(); //.... mu.unlock() 这种方式我们是希望//...中间执行,保证只有有个线程进入临界区,但是这里存在一个问题,就是如果线程在临界区发生错误或者return,导致m 阅读全文
posted @ 2020-08-02 21:45 cyssmile 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 在多线程的代码中,有时候有些操作只需要执行一次,比如fstream中打开文件open() 首先是不使用once_flag解决这种问题的缺陷和改进 1.示例代码的问题 #include<iostream> #include<thread> #include<mutex> #include<string 阅读全文
posted @ 2020-08-02 16:49 cyssmile 阅读(388) 评论(0) 推荐(0) 编辑
摘要: c++多线程中死锁多出现在使用多个mutex,而mutex的顺序不一样。比如下面的代码为了保证输出的原子性,在两个输出的函数中使用了两个mutex 但是这两个mutex锁的顺序是不一样的,结果就造成了死锁。 #include<iostream> #include<thread> #include<m 阅读全文
posted @ 2020-08-02 15:48 cyssmile 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: 1.首先安装CMake sudo apt-get install cmake 2.创建最简单的cmake例子 1)打开终端先创建一个文件夹 mkdir lab1 cd lab1 2)在lab1目录下创建两个文件 touch main.cpp CMakeLists.txt 3)在main.cpp中写入 阅读全文
posted @ 2020-07-31 17:32 cyssmile 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.解决依赖 sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget 2.下载想安装的python版本 阅读全文
posted @ 2020-07-31 10:08 cyssmile 阅读(2142) 评论(0) 推荐(0) 编辑
摘要: 1.首先可以先查看当前终端python默认的版本 ls -l /usr/bin |grep python 2.删除之前的python指定的软连接 sudo rm /usr/bin/python 3.创建新的软连接指向你想指定的版本 sudo ln -s /usr/bin/python3.5 /usr 阅读全文
posted @ 2020-07-31 09:40 cyssmile 阅读(826) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 18 下一页