自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 c++中的头文件循环引用

c++中的头文件循环引用问题在项目文件变多时,由于组织不当,很容易出现头文件的循环引用有时候虽然没有出现循环引用,但是头文件多处被include,导致编译速度变慢解决办法适当的使用前置声明什么是前置声明  就是当你只用到某个类型的指针或者引用时,可以不用把整个类型的头文件include进来。只需要声明这个类型即可why  因为在只需...

2018-07-23 08:24:16 10428

原创 N皇后问题的并行解法

N皇后问题的并行解法N皇后问题其实就是一个n*n的棋盘上摆n个皇后,任意两个皇后不能同行,同列,同对角线,求出所有的摆法。这个问题可以看做是求n的组合数。比如第一列上的皇后在第x1行,第二列在x2行…..最后的一个解就是x1x2x3…xn。这是[1,n]的一个排列,求出全排列,然后去掉不符合的就是题目的解,而全排列的求解实际就是一个简答的DFS。但是这个方法太暴力了,实际上不少情况下不用摆到最后一列

2017-10-13 17:05:27 2786 1

原创 malloc与缺页的一些的时间测量

malloc与缺页的一些的时间测量时间函数struct timespec{ time_t tv_sec; long int tv_nsec;};/*1.which_clock参数解释CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户该成其他,则对应的时间相应改变CLOCK_MONOTONIC:从

2017-10-10 15:18:56 1017

原创 effective cpp 读书笔记2

当你用到多态时,务必把析构函数做成虚函数以前知道子类的析构函数会自动调用父类的析构函数,然而今天却发现不总是这样。当你用基类的指针指向派生类时,然后delete这个指针时,有可能就不会调用派生类的析构函数。看代码#include <stdio.h>class A{public: ~A(){ printf("A deconstructor\n"); }};cl

2017-09-26 08:37:46 304

原创 effectivecpp读书笔记1

effective cpp读书笔记1非内置类型的成员变量最好都用初始化列表初始化,因为在构造函数执行前,会先初始化这个对象内部的成员,若是有初始化列表,则按初始化列表来初始化,若是没有,则自动执行成员的默认构造函数。看下面的例子#include <stdio.h>class A{public: int x; A(){ printf("A default const

2017-09-25 15:42:20 206

原创 腾讯技术1面

记腾讯 服务端cpp技术一面问:进程间通信有哪些方式答:信号量,信号,管道,socket,共享内存问:哪种方式最快答:共享内存问:为什么答:共享内存只在创建时有系统调用,创建好后,就和访问自己的内存一样,而管道,socket等方式不仅创建时有系统调用,在读写数据时都有,需要多次进入内核,上下文切换。而且他们在内核和用户态之间多次复制数据,速度肯定慢问:进程和线程的区别答:进程是资源分配的基本单位,线

2017-09-21 21:37:16 414

原创 Tensorflow Cnn mnist 的一些细节

Tensorflow cnn MNIST 笔记写这个完全是记录看官网example时不懂,但后来弄懂的一些细节。当然这个可以算是对官方文档的补充,也许每个人遇到的不懂都不一样,但希望对大家有帮助。先上代码#!/usr/bin/env pythonfrom tensorflow.examples.tutorials.mnist import input_dataimport tensorflow

2017-09-17 11:57:00 588 1

原创 libevent源码分析(细节版)1

从sample/hello-world.c来剖析libevent源码我准备从libevent源码中最简单的sample开始剖析源码。目前思路是碰到dfs的方法,即碰到一个不够底层的封装,就去深究它,直到彻底搞懂它,然后返回继续。先上hello-world.c的源码#include <string.h>#include <errno.h>#include <stdio.h>#include <s

2017-08-25 09:08:12 635

原创 基于内存的posix信号量用法

posix信号量的两种形式基于文件系统不打算详细讲细节,提供两种模板,简单的用法#include <semaphore.h>sem_t* sem_open(const char*name,int oflag,.../*mode_t mode,unsigned int value*/)oflag参数我一般指定O_CREAT|O_RDWR,因为一般不保存信号量,毕竟总觉得这东西会一直占系统资源,所以我

2017-08-20 21:31:01 301

原创 Linux Hook技术实践

LInux Hook技术实践什么是hook简单的说就是别人本来是执行libA.so里面的函数的,结果现在被偷偷换成了执行你的libB.so里面的代码,是一种替换。为什么hook恶意代码注入调用常用库函数时打log改变常用库函数的行为,个性化怎么hook这个东西在win里面有现成的api,但是在linux里面却要主动修改ELF文件,或者修改动态库链接路径。我看网上写的好多挺麻烦的,而且还要调用

2017-08-19 09:53:37 2458

原创 udp中的connect()&bind()

connect()&bind()的作用udpudp connect() #include <sys/types.h> #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);udp connect()描述connect系统调用将sockfd关

2017-08-19 09:52:33 1400 1

原创 Decision Tree

Decision Tree概念:决策树(decision tree)官方版:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射

2017-08-19 09:49:35 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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