代码改变世界

Linux编程的一些开发库

2010-09-06 17:44 by shuisheng, 319 阅读, 0 推荐, 收藏,
摘要:libparted 操作disk和partition的开发库libudev 读取设备信息的开发库,能触发事件当设备拔出或插入libuuid 读取设备的ID号libsqlite3 轻量级文件数据库 阅读全文

linux 程序自动启动

2010-09-06 16:52 by shuisheng, 938 阅读, 0 推荐, 收藏,
摘要:在Red Hat Linux中自动运行程序1.开机启动时自动运行程序  Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件,在文件最末... 阅读全文

高性能服务器设计(转)

2010-09-06 16:49 by shuisheng, 982 阅读, 1 推荐, 收藏,
摘要:这是我和同事们共同翻译的一片文章,没有完成,先贴出来吧。引言本文将与你分享我多年在服务器开发方面的一些经验。当服务器程序需要每秒处理大量离散消息或者请求时,该注意哪些问题。网服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为简洁起见,下面将简称为“服务器”。本文不会涉及到多任务应用程序,... 阅读全文

高性能服务器开发(转)

2010-09-06 16:40 by shuisheng, 1765 阅读, 1 推荐, 收藏,
摘要:高性能服务器必须考虑的4个方面:1 数据拷贝2 内存管理3 进程/线程上下文切换4 锁争用说明:以下文章中会包含一些研究服务器性能的链接,这些链接也是非常重要的文档,本文不再列出,查看下面的文章内容时,可点击文章里面的链接访问。影响服务器性能的TCP选项:TCP_CORK,TCP_NODELAYhttp://bbs.net130.com/showthread.php?t=128111搜狗关于epo... 阅读全文

编译Linux内核

2010-08-28 16:57 by shuisheng, 159 阅读, 0 推荐, 收藏,
摘要:1. 下载(Ubuntu9.04)调用命令sudo apt-get install linux-source,这样是下载与系统内核版本一致的内核,比如我的内核版本是2.6.28-11-generic,可以用命令uname -r查看2. 到/usr/src,解压缩下载的内核包tar -jxvf linux-source-2.6.28.tar.bz23. 编译内核进入解压缩目录后,运行如下命令sudo... 阅读全文

QT开发中碰到的问题

2010-05-20 15:47 by shuisheng, 205 阅读, 0 推荐, 收藏,
摘要:目前正在做一个Linux项目,用的QT,因为之前没有用过QT,所以碰到很多菜鸟问题。这里记录两个问题:1:程序中有个connect语句,即signal和slot的匹对,编译的是后发现错误:No such slot QDialog::buttonClicked(int m),原因,因为这个类是我继承自QDialog,但是忘了加Q_OBJECT,所以导致这个问题。但是加入这个后编译有出现这个错误:un... 阅读全文

Linux 文件映射mmap,Bus Error

2010-05-15 18:45 by shuisheng, 2876 阅读, 0 推荐, 收藏,
摘要:当创建一个普通文件,然后映射到虚拟地址空间,出现bus error,代码如下:代码当运行第10行后,系统报错:bus error。因为这时文件还是空的,所以不能写内容,解决办法是在第2行后插入如下代码:lseek(fd, FILE_LENGTH, SEEK_SET);write(fd, " ", 1); //这句一定要,否则文件还是空的,只是位置移到FILE_LENGTH处这样就搞定了。类别:li... 阅读全文

突破Linux文件大小的2G限制

2010-05-15 10:55 by shuisheng, 1655 阅读, 0 推荐, 收藏,
摘要:正常情况下在32位Linux系统编程,使用fopen对文件进行操作时会遇到2G大小的限制,比如有一个文件有3G,你想移动流指针到2.5G的位置,系统会提示文件太大,不能操作。解决办法,定义如下宏:[代码]这样定义后off_set就是8字节数据,共64位了。64位off_t溢出怎么解决?我定义off_t lBytes = 1024*1024*1024*100;然后编译的时候,警告整数溢出(integ... 阅读全文

(转)vim设置字体

2010-05-13 12:49 by shuisheng, 3466 阅读, 0 推荐, 收藏,
摘要:在Linux下设置字体的命令是: :set guifont=Courier\ 14 而在Windows下则是: :set guifont=Courier:14 当然,如果需要设置多个字体,则我们可以在各个字体之间添加逗号(,)来设置多个字体,如: :set guifont=Courier\ New\ 12, Arial\ 10如果不知道是那种字体到的话 可以通过:set guifont 来查看它是... 阅读全文

在Ubuntu下安装QT开发环境

2010-05-04 15:46 by shuisheng, 125 阅读, 0 推荐, 收藏,
摘要:在终端直接运行sudo apt-get install qtcreator 阅读全文