摘要:
最近工作中用到mcmf分配流量,在此记录下。 相较于最大流算法,mcmf改为每次都增广费用最少的一条路径。 实现上是,使用SPFA替换Edmond-Karp算法的BFS。 SPFA参考:http://keyblog.cn/article-21.html EK: int edmondkarp() { 阅读全文
摘要:
c中同样适用的pthread库就不在赘述,只讨论std::thread C++11中加入的thread,需要编译器支持至少gcc4.7.0以上。编译安装gcc注意参考网上文章。 #include <unistd.h> #include <iostream> #include <thread> //u 阅读全文
摘要:
参考http://blog.csdn.net/koudaidai/article/details/7673082 首先看下最常见的包的层次:frame层是不是实际传输的数据,是tcpdump添加的一层。eth层如果显示linuxcooked的话是没有指定网卡抓包的原因需要tcpdump -i 指定网 阅读全文
摘要:
之前发现: ulimit -acore file size (blocks, -c) 1 仍然可以core出来。 /proc/(pid)/limits 下显示是Max core file size unlimited unlimited bytes 怀疑是进程自己设置的。 搜了下找到 解决: set 阅读全文
摘要:
作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。 (1) 全局变量: 全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它 阅读全文
摘要:
gcc -O1 第一优先级,高优先级会是编译时间变长,程序运行更快,但调试更困难,机器代码和源码之间的关系更难理解。性能上讲是搞优先级好。 编译:预处理器,插入#include #define 。编译器生成汇编代码.s。汇编器生成二进制机器代码。链接器将其和实现库函数的代码合并。 指令集,虚拟地址。 阅读全文
摘要:
在改掉所有的warning时老报一个implicit declaration of function 的警告错误,上网查了下原因,原来有两种情况会产生这种情况 1 没有把函数所在的c文件生成.o目标文件2 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明 http://blog.ch 阅读全文
摘要:
信号的产生: 1、终端按键,ctrl+C sigint信号 2、硬件异常:除0、无效的内存引用等。由硬件检测,并通知内核,然后内核为该条件发生时运行的进程产生适当的信号。 3、进程调用kill函数、用户执行kill命令。 4、某种软件条件发生,通知进程时。例如:sigpipe sigalarm。 信 阅读全文
摘要:
1、wait阻塞父进程,没有子进程或SIGCHLD set to SIG_IGN 会失败,until status information for one of the terminated child processes of the calling process is available, o 阅读全文
摘要:
链表是内核最经典的数据结构之一,说到链表就不得不提及内核最经典(没有之一)的宏container_of。 container_of似乎就是为链表而生的,它的主要作用是根据一个结构体变量中的一个域成员变量的指针来获取指向整个结构体变量的指针,最典型的应用就是根据链表节点获取链表上的元素对象。 cont 阅读全文