
linux编程
wumuzhou
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
libevent实现的简单定时器功能
这是一个libevent实现的简单定时器功能,并可以用函数指针封装函数来使外部来调用。 #include #include using namespace std; static char test_char[100] = "begin test"; struct event ev; struct timeval tv; typedef void (*LiveStatusCB)(cons原创 2016-12-29 09:17:53 · 970 阅读 · 0 评论 -
CPU亲和性(affinity)sched_setaffinity() 和 sched_getaffinity()
简单地说,CPU 亲和性(affinity) 就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。Linux 内核进程调度器天生就具有被称为 软 CPU 亲和性(affinity) 的特性,这意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们希望的,因为进程迁移的频率小就意味着产生的负载小。 2.6 版本的 Linux 内核还包含了一种机制,它让开发人转载 2017-02-28 17:31:51 · 613 阅读 · 0 评论 -
gdb调试core文件
一,什么是coredump 跑程序的时候经常碰到SIGNAL 或者 call trace的问题,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈转载 2017-02-28 17:47:53 · 734 阅读 · 0 评论 -
linux上客户端绑定固定端口请求server
linux上客户端绑定固定端口请求server, 这样可以用客户端的固定端口去请求不同的server #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace st原创 2017-01-20 15:58:22 · 3190 阅读 · 0 评论 -
centos 6.5 gcc升级到5.3.0
1、下载安装包 在这个地址进行下载 http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/ 2、解压 tar -zxvf gcc-5.3.0.tar.gz 3、下载供编译需求的依赖项。据说下面这个神奇的脚本文件会帮我们下载、配置、安装好依赖库,可以节约我们大量的时间和精力。 cd gcc-5.3.0./contrib/download_prerequisit转载 2017-04-10 16:16:38 · 2801 阅读 · 1 评论 -
linux下使用管道pipe和select创建阻塞
linux下使用管道pipe和select创建阻塞的模型,大家参考一下 #include #include #include #include #include pthread_t tid; int pip_ios_fd[2] ; struct test { int* pip_opt; } t1; void* CallBack(void* arg) { printf原创 2017-01-20 10:10:31 · 5802 阅读 · 0 评论 -
Linux epoll详解
本文转载自http://blog.youkuaiyun.com/lingfengtengfei/article/details/12398299 Linux epoll详解 一、什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a n转载 2017-07-31 10:59:37 · 324 阅读 · 0 评论 -
实例浅析epoll的水平触发和边缘触发,以及边缘触发为什么要使用非阻塞IO
本文转正自:http://www.cnblogs.com/yuuyuu/p/5103744.html 一.基本概念 我们通俗一点讲: Level_triggered(水平触发):当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这转载 2017-07-31 11:33:16 · 409 阅读 · 0 评论 -
记录一下kms流媒体服务器的编译过程
使用的环境是ubuntu14 1.安装开发工具 apt-get install --no-install-recommends \ build-essential gdb pkg-config \ clang debhelper valgrind \ git wget maven 'openjdk-7-jdk' 2.配置kms的源 # Now run: tee /etc/apt/so...原创 2018-11-28 14:37:52 · 1017 阅读 · 0 评论