Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

对于Linux socket与epoll配合相关的一些心得记录

对于Linux socket与epoll配合相关的一些心得记录

没有多少高深的东西,全当记录,虽然简单,但是没有做过测试还是挺容易让人糊涂的int nRecvBuf=32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));通过上面语句可以简单设置缓冲区大小,测试证明:跟epoll结合的时候只有当单次发送的数据全被从缓冲区读完毕之后才会再次被触发,多次发送数据如果没有读取完毕当缓冲区未满的时候数据不...
关于Linux 系统下 C++ 的多线程基类

关于Linux 系统下 C++ 的多线程基类

最近在Linux 下用C++做的东西,原来是使用“多进程”方式实现,现在随着工程的增大,“多进程”的“变量共享”问题已经十分突出了,虽然可以使“内存共享”等方式实现,但大量的“内存共享”会导致代码混乱。。所以决心将整个工程重新写,使用“多线程”方式实现,这样可以大大较少“内存共享”的使用次数。下面是我写的基类,把代码保存在名为 Thread.h 的头文件中。====================================传说中的分割线=======...
Linux下编程常用头文件整理

Linux下编程常用头文件整理

Linux下编程常用头文件一览验证程序断言 cpio归档值 字符类型 目录项 出错码 文件控制 浮点常数 信号 可变参数表 标准定义 标准I/O库 公用函数 字符串操作 tar归档值 终端I/O 时间和日期 用户限制 符号常数 文件时间 IPC 消息队列 信号量 共享存储 文件状态 进程时间 原系统数据类型 进程控制C/C++头文件一览==============================C、传统 C++#include //设定插入点#in...
Linux-2.6.26内核的改变总结

Linux-2.6.26内核的改变总结

Linux 2.6.26内核已经发布了一段时间了,可是一直没有总结其所带来的改变,今天得闲,再罗唆一二。 互斥锁(mutex)的出现使得信号灯(semaphore)同步原语变得不太需要关注性能,这种情况下,代码的可维护性、调试性和扩展性变得更加重要。最终,用C语言重现实现的信号灯取代了以前复杂的架构相关的实现版本,进驻了官方内核。当然,新的C语言版的性能还是不能和旧版本同日而语,可是这并不是什么问题,因为Linus明显鼓励你用更加简单的互斥锁,尽量避免用...
给801卡的Linux驱动程序增加了自己的内存映射函数

给801卡的Linux驱动程序增加了自己的内存映射函数

公司各型号监控卡在Windows下的开发基本完成,唯一剩下的就是等到解码卡生产出来后再做一次测试,之后就应该没有什么大量繁重的工作了。所以从8月份开始,我的工作重心又重新转向了Linux下。 今天重新开始JVS-C801卡在Linux下的开发工作,首先就是进一步修改驱动程序,增加了对子设备和子厂商的识别,这样同样芯片的不同型号的卡子就不会被安装上同样的驱动。然后就开始增加驱动自己的mmap函数,这样就可以不再使用/dev/mem来进行内存映射,也不再...
Linux下用gedit制作脚本的简单例子[图文]

Linux下用gedit制作脚本的简单例子[图文]

在 Windows 下,我们经常可以在各种文本编辑工具中将某些常用的命令保存起来,进行一系列的自动脚本,来帮助我们执行批处理命令,在 Linux 下,我们也可以使用某些工具来高效,轻松地来进行这些工作,本文以 gnome 下的自带图形文本编辑器 gedit 来说明一个简单的例子。OK,让我们开始:1. 打开 gedit ,并找到菜单 “编辑” -> “首选项”,在 “插件” 选项,选择 “外部工具”(gedit默认没有加载此插件,我们需要手动加载它)...
Linux下proc编译及gcc编译的学习体会

Linux下proc编译及gcc编译的学习体会

在Linux下编译.pc文件(即应用了Oracle的嵌入式数据库开发语言)过程有两步:首先经过proc预处理把.pc文件编译成.c文件:proc test.pc这期间如果报错那么就是一些库文件和头文件没有包含进去。proc 常用参数选项说明:(1)code:指出预编译处理所生成的c函数的格式当code= ANSI_C时,生成符合ANSI_C标准的函数原型参数:extern sqlca(log*,void *);当code=KR_C时生成如下格式的函数原型参...
Linux系统中配置JDK和PHP调用java类

Linux系统中配置JDK和PHP调用java类

因为工作的需要,必须在Linux系统中配置PHP调用java类。在网上搜了搜,也有很多资料,但是每个人的系统和JDK版本都不一样,所以配置起来都不能调试成功。经过两天的安装调试终于通过,也收获了不少的经验和教训。也给需要PHP调用java类的人士一个提醒。联系PHP和JAVA的桥梁,当然是php-java-bridge了。系统环境: CentOS5.1 + apahe2.2.8 + PHP5.2.6jdk版本:jdk-1_5_0_06-Linux-i586...
分享经验丰富的Linux程序员Spence Murray的开发技巧

分享经验丰富的Linux程序员Spence Murray的开发技巧

Sppence Murray 是 Linux 开发高手之一,同时长期以来他一直是 UNIX 的坚定支持者。本文介绍的是 Murray 和他在 Codemonks Consulting 的同事在日常的 Linux 开发以及应用服务工作中用到的基本技术: shell 脚本,相信 Linux 的开发人员都会受益于这项有用而且通用的技术。Spence Murray 是 Codemonks Consulting 的创始人之一,自从 20 世纪 80 年代最早在 Su...
Linux下静态加载一个动态库出现的问题及解决

Linux下静态加载一个动态库出现的问题及解决

最近在Linux下工作中碰到一个问题,虽然问题已经解决,但是还是不太明白具体原因,为什么会出现这个问题。程序结构:有两个动态库A.so和B.so, 并且A.so静态加载了B.so。同时A和B同时有一个相同的类C, (为了下边的清晰暂且叫AC类和BC类,其实就是一个类), BC类新添加函数fun1, AC和BC相同的函数fun。 B中有一个C的实例objectBC。fun和fun1内容为:void AC::fun(void){cout<<"AC:...
安装gcc 在Linux下编程

安装gcc 在Linux下编程

由于装系统时没有选装编程软件,所以不能在Linux下直接使用gcc命令。刚开始还打算下软件包来安装,后来发现系统里在/usr/bin目录下有文件gcc296,只要建立一个命令的连接文件就可以直接使用了。具体过程如下,进入/bin目录,输入命令ln -s /usr/bin/gcc296 gcc,目的是在/bin下建立一个gcc296的连接文件,就可以直接使用gcc来编译c程序了。否则就要使用/usr/bin/gcc296来编译文件。不用重新装gcc软件包。g...
Linux下jvm时区设置

Linux下jvm时区设置

在一个精简的Linux安装上jre,发现所有的java程序获取的时间都不是系统时间。后来发现原来是时区不对。java程序获取的时间都是GMT时间,而系统是北京时间,应该是GMT+8,刚好相差8小时。网上搜了好多资料,只有两种方法:1、在程序中使用java的函数设定时区。2、在启动java程序时加参数-Duser.timezone=GMT+8不过总不能去修改每个程序的源码去设定时区吧。也不想在每个java程序启动的时候加参数,太麻烦了。就没有一劳永逸的办法了...
Ubuntu删除旧内核的shell脚本

Ubuntu删除旧内核的shell脚本

随着Ubuntu的更新,特别是其内核的更新,系统中就会存留很多版本的内核,要知道每个都很大,不但浪费硬盘空间,而且在启动的时候,grub的选项里会出现很多个内核,很是不好,所以就需要删除旧版本的已经不用的内核。一下的shell脚本就可以帮你轻松搞定问题,这个脚本是转载学长。#!/bin/sh#Program:# Let user uninstall unused kernels which installed as debian package form....
Linux-shell-||,&&{},(),reg-命令执行顺序

Linux-shell-||,&amp;&amp;{},(),reg-命令执行顺序

(),{}(cmd1;cmd2;...;cmdN)# 在一个子shell里执行一组命令{cmd1;cmd2;...;cmdN}# 在当前shell里执行一组命令正则^ 只只匹配行首$ 只只匹配行尾* 只一个单字符后紧跟*,匹配0个或多个此单字符[ ] 只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ] 只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中...
<< 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 >>