xibeichengf的专栏

每天进步一点点,stay hungry, stay foolish.

swig使用介绍

swig是Simplified Wrapper and Interface Generator的简称,它是一个能将C和C++的程序与其他各种高级语言诸如Perl,Python,Ruby和Tcl进行连结的开发工具。 swig的官方中文网站:http://www.swig.org/translati...

2018-08-01 20:47:50

阅读数 220

评论数 0

shell下的数学运算

经常需要使用shell来进行简单的额加、减、乘、除数学运算,每次都需要现查。因此在此记录一下所有相关的shell数学运算的方法,做一个小小的总结。shell下数学运算主要以以下几种:1、[]sum=$[$a+$b]2、(())sum=$((a+b))3、exprsum=$(expr $a+$b)4...

2018-03-02 19:06:43

阅读数 159

评论数 0

generator下send()的作用

我们先看一下下面这个generator,它不会被send函数所影响。它在初始化时接受数字参数,并且不被send所影响: >>> def double_number(number): ... while True: ... number *=2 .....

2018-01-06 17:03:58

阅读数 224

评论数 0

boost相关

Linux平台下的boost安装:http://www.cnblogs.com/huliangwen/p/5424033.html

2017-12-22 17:06:03

阅读数 133

评论数 0

thread中join和detach的区别

C++中的thread对象通常来说表达了执行的线程(thread of execution),这是一个OS或者平台的概念。 当thread::join()函数被调用,调用它的线程会被block,直到线程的执行被完成。基本上,这是一种可以用例知道一个线程已结束的机制。当thread::join()返...

2017-05-04 19:11:27

阅读数 22808

评论数 0

在测试中mock的作用

一篇很好的介绍mock的文章http://stackoverflow.com/questions/3622455/what-is-the-purpose-of-mock-objects

2017-03-11 15:32:18

阅读数 758

评论数 0

boost interprocess_condition解析

boost中的interprocess_condition类是一个放在共享内存或内存映像文件中的条件变量。 interprocess_condition主要的public成员函数有: 1. void notify_one() 如果有一个线程正在等待本线程(*this),改变那个线程到已准备好...

2017-03-04 13:18:33

阅读数 779

评论数 0

C++ new placement语法

今天在学习boost的共享内存时,看网上的一段代码。主要实现的功能是一个进程写一份跟踪数据至共享内存缓存区,另一个进程一个接一个打印出来。第一个进程写跟踪数据,然后等待,直到另一个进程打印这份数据。为达到此目的,我们可以使用两个条件变量:第一个用于阻塞发送者直到第二个进程打印出此消息,第二个用于阻...

2017-03-03 20:20:01

阅读数 465

评论数 0

指针的引用

为什么会有指针的引用呢?我们假设这样一个问题,如果一个函数的参数是一个指针,而我在该函数中修改了该指针指向的内容,这会发生什么呢?如下所示: void my_func(int *p) { int m = 10; p = &m; } int main(int argc, ...

2017-02-27 19:27:13

阅读数 194

评论数 0

stringstream

又是利用stringstream来将string转换到其它数字类型是很方便的。stringstream的使用和iostream的使用很类似,学习上来说并不是一个负担。 stringstream既可以用来读取string,也可以用来写入string。它主要作用于string buffer,但是并没有...

2017-02-26 14:00:18

阅读数 322

评论数 0

boost学习

boost::scoped_ptr: 用于确保动态分配的对象能够被正确地删除。 boost::interprocess::interprocess_mutex: 一个非递归的、匿名的互斥锁,可以放在共享内存或者内存映像文件中。 boost::scoped_lock: 你可以确保在任何情况下离开执行...

2017-02-26 10:17:22

阅读数 226

评论数 0

C++ 11相关知识学习

std::mutex std::mutex定义在头文件中。 mutex类是一个同步原型,用来保护共享数据被多个线程同步访问的同步。mutex提供互斥,非递归拥有权语义: 一个调用线程拥有一个mutex。从它成功调用lock或者try_lock,知道它调用unlock。当一个线程拥有一个mut...

2017-02-25 17:56:19

阅读数 265

评论数 0

微软无人机虚拟训练平台AirSim学习

AirSim的全称为“Aerial Informatics and Robotics Platform”。该平台的目的是训练自动驾驶无人机,并使它们更安全。

2017-02-18 17:28:30

阅读数 2008

评论数 0

使用synergy实现鼠标和键盘在两台机器间的共享

随着开发工作的任务越来越重,一台电脑已远不能满足我们的日常工作。因此越来越多的企业为员工配备了两台电脑,通常为一台笔记本和一台台式机。这里我就记录一下我是如何用synergy实现两台电脑之间共享键盘和鼠标的。 首先需要安装synergy,synergy是一款跨平台的软件,它支持Windows,Li...

2017-01-13 20:06:43

阅读数 1739

评论数 0

正负号标记法在数组相关程序中的使用

正负号标记法在一些关于数组的编程中往往能起到一些出其不意的效果,在这里我以几个示例来解释一下正负号标记法的用法。1,我们看一下LeetCode的第448题。该题告知你一个有n个元素的数组,数组的所有元素介于1到n之间(包含1与n),但是 一些元素出现了两次,其他的元素都只出现一次,找出所有没有出现...

2016-11-20 22:26:23

阅读数 1933

评论数 0

ssh无密码登录最简单的方法

只需要一条简单的命令即可实现ssh无密码登录,执行如下命令: ssh-copy-id username@ip然后会提示你输入密码,正确输入密码后,再执行ssh username@ip后就可以直接无密码登录到另一台机器了。 简单吧,仅仅一条命令而已。

2016-11-20 21:54:08

阅读数 262

评论数 0

C/C++基础知识

1. 指针和引用的区别 一个指针可以被多次赋值,但是引用只可以在创建的时候就必须初始化,初始化完毕后就不可改变;一个指针有它自己的内存地址和栈上的大小(x86上面为4byte),但是引用与原有变量共享相同的内存地址,但是在栈上仍然占用一些内存空间。指针可以指向NULL,但是引用必须引用一个有效...

2016-11-05 12:58:54

阅读数 288

评论数 0

Ubuntu升级gcc版本到5.2.0

工作中需要将Linux机器上现有的4.7.3的gcc升级到5.2.0。在此记录下整个升级过程。 1. 首先下载gcc 5.2.0的源码,gcc的官网在这里。也可以通过命令行进行下载。 wget ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/g...

2016-09-28 14:00:46

阅读数 3971

评论数 0

Linux中的共享库和gcc

对于程序员来说库(libraries)是必不可少的一个工具。可以将预先存在的代码进行编译,然后直接使用。它们经常提供通用的功能,像链表或者二叉树等可以用来存放各种数据,或者特定的功能像数据库的接口,比如MySQL。 大多数大的软件工程包含许多的模块,其中的一些模块可能会在后面别的项目中用到,或者你...

2016-08-06 17:49:53

阅读数 1879

评论数 0

如何根据字典的键或值来排序

在Python中的字典是一个非常有用的容器,可以存储一些值的集合,并且可以通过键来访问它。字典的值可以是任何对象类型(字典甚至可以嵌入另一个字典中),键可以为任何可hash的对象,也就是它不可以被改变(所以字符串并不是唯一合法的键,但是可变的比如列表就绝对不能作为键)。不像Python的列表或者元...

2016-07-24 18:26:04

阅读数 10738

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭