摘要: 时间:2009-07-01 14:44:01来源:Linux联盟作者:首先,先要说明一点,网上许多的方案都是针对新版QT的(3.1以上),而我这篇文章旧版QT也适用,希望能够帮助在QT中文问题上还很茫然的你,雪中送炭。 Qt 自从版本(2.2.4)以来,实际上就对国际化的支持已经相当完善。 在文本显示上,Qt 使用了Unicode 作为内部编码,可以同时支持多种编码。 为 Qt 增加一种编码的支持...阅读全文
09 2010 档案
摘要: =================================================本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接E-mail: khler@163.comQQ:23381103MSN:pragmac@hotmail.com原址:http://www.cnblogs.com/khler/archive/2010/09/27/1836559...阅读全文
摘要: 在Widnows XP下的FTP服务器中有中文文件名 ,今天使用ftp命令,发现不能显示中文文件名,只能显示????。于是到网上查了一些资料,也没有找到好的解决方法,只是有人说使用图形化的ftp工具gftp,安装方法:sudo apt-get install gftp,另外还要增加中文字符编码zh_CN.GBK即可即可。在这里总结一下Ubuntu下增加中文字符编码的方法。一. Ubuntu默认的中...阅读全文
摘要: 关键字: Unicode, Character Set, 字符集, UTF-8, ANSI, ASCII, UTF-7 原文标题: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets(No Excuses!)原文链接: http...阅读全文
摘要: 是否可以用memset来初始化一个类?答:不可以!其实这是习惯C风格的人使用C++时非常容易犯的一个习惯性错误!熟悉C++的人不会,因为C++有构造函数,为什么会可笑的想用memset?这里说不可以,不是说真的不可以,而是说真的别这样!有些情况下是可以用的,因为类只是一个说明,对象也是这个类的一个具体化了的内存块,当你memset一个对象时,它把这块对象内存初始化了,在不影响内部结构的情况下是不会...阅读全文
摘要: 1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行...阅读全文
摘要: C/C++中,sizeof()是编译时由编译器计算结果的,所以在需要高性能的地方,你大可以放心使用而不必担心性能问题!阅读全文
摘要: 好几年没用C/C++了,由于项目需要,重拾C/C++,使用中时不时的有种亲切感涌来。由于C/C++的自由,让人痛苦但更是让人喜欢的原因,一些经验和技巧显得尤为重要。 最近总是想不明白,一个函数返回一个内存或者对象的指针,那么这个指针指向的对象(内存)到底由谁来释放?要知道,函数返回指针,通常是给外部临时使用的,其指向的内存通常由函数或者成员函数所在的对象自己来管理,其实就是遵从一个原则:自己的事自...阅读全文
摘要: 1. 把合适的工作分给合适的人 显然,每个人都不是全能选手,每个人都有所长和所短。领导应该了解自己的下属,包括他们的特长和所好,让每个人做其最擅长和喜欢的工作。下发工作最好不要是强制性的,先征求他们的意见和建议,问一下他们的看法,一定对完成工作有很大的帮助。因为不是所有的领导其脑子都比下属聪明,相反,在具体的微观的细节上,下属往往比领导更有发言权。让工作在下属的愿望和控制内进展,更能体现其成就感,...阅读全文
摘要: struct pollfd { int fd; //当前描述符 short events; //进程关心的该描述符的事件 short revents; //返回的事件};asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, long timeout_msecs){ s64 timeout_jiffies;/...阅读全文
摘要: 查看内核版本: uname -a查看Ubuntu版本:cat /etc/issue阅读全文
摘要: 最近接的项目是模拟多个socket 客户端与服务器进行通信。由于Linux 系统的限制,在/usr/include/linux/posix_types.h文件中有如下的宏定义:#undef __FD_SETSIZE#define __FD_SETSIZE 1024这个宏是对最大文件描述符的定义为1024。当需要1024个以上的fd时,例如select()函数就会侦听出错。因此需要将1024改成需要...阅读全文
摘要: 设置守护进程过程:1.创建子进程,父进程退出2.在子进程中创建新会话3.改变当前目录为根目录4.重设文件权限掩码5.关闭文件描述符*6.守护进程里,忽略SIGCHLD信号 (即使fork两次,新进程由init接管,不进行signal(SIGCHLD,SIG_IGN)操作,也会产生僵尸进程。)守护进程简介 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。...阅读全文
摘要: 守护进程在Linux/Unix系统中有着广泛的应用。有时,开发人员也想把自己的程序变成守护进程。在创建一个守护进程的时候,要接触到子进程、进程组、会晤期、信号机制、文件、目录和控制终端等多个概念。因此守护进程还是比较复杂的,在这里详细地讨论Linux/Unix的守护进程的编写,总结出八条经验,并给出应用范例。编程要点1.屏蔽一些有关控制终端操作的信号。防止在守护进程没有正常运转起来时,控制终端受到...阅读全文
摘要: 一般当一个进程终止后都会发送SIGCHLD信号给它的父进程,并由此变为僵死进程直到父进程接收了其状态报告其资源才会被系统释放;
处理方法有3种:
1. 当子进程终止时父进程接收SIGCHLD信号并调用waitpid()函数接收其状态报告,最好用sigaction(),signal()不可靠;
2. 通过函数sigaction指明标志SA_NOCLDWAIT来指定信号SIGCHLD的动作,这使得内核在调用者的子进程终止时不创建僵死进程。
3. 二次fork调用; 阅读全文
摘要: 来源: LUPA开源社区发布时间: 2007-05-27 04:30 Linux下的网络编程分为两部分:服务器编程和客户机编程。一般服务器程序在接收客户机连接请求之前,都要创建一个守护进程。守护进程是linux/Unix编程中一个非常重要的概念,因为在创建一个守护进程的时候,我们要接触到子进程、进程组、会晤期、信号机制以及文件、目录、控制终端等多个概念,因此详细地讨论一下守护进程,对初学者学习进程...阅读全文
摘要: 一般linux下TCP连接的限制在TD_SETSIZE,系统默认为1024,由FD_SETSIZE决定。1.修改方法: 修改/usr/etc/security/limits.conf文件,加入*soft nofile 20000*hard nofile 20000 然后reboot系统。服务器就可以建立连接到20000个了,其连接方法是直接用connect,accept,注意这里用select是不...阅读全文
摘要: 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的 限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。。。。阅读全文
摘要: 本文来自Valgrind 官方网站的《Quick Start Guide》,建议读者直接到其网站上获取更详细的信息:http://www.valgrind.org/docs/manual/quick-start.html#quick-start.prepare1.IntroductionThe Valgrind tool suite provides a number of debugging a...阅读全文
摘要: 原文地址:http://www.upsdn.net/html/2006-11/775.html感谢作者给我们提供这么好的文章,解决了我的问题! ——khler简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他...阅读全文
摘要: 1.简 介 log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。 log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期;你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过...阅读全文
摘要: 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。 最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况: 一. 在 MFC 中检测内存泄漏 假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。 我们...阅读全文
摘要: Ubuntu虚拟机共享主机上网WinXP+VMware WorkStation+Ubuntu7.10一.Bridged方式共享上网 1.设置Ubuntu的网络连接方式为Bridged2.共享ADSL连接ADSL连接属性中选中“Internet连接共享”,下拉列表中然后选择“本地连接”,系统会自动把“本地连接”设置为192.16...阅读全文
摘要: wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。$ wget -r -np -nd http://example.com/packages/这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录...阅读全文
摘要: 设计模式的原则1、"开-闭"原则——模块应对扩展开放,而对修改关闭。2、里氏代换原则——如果调用的是父类的话,那么换成子类也完全可以运行。里氏代换原则是继承复用的一个基础。3、合成复用原则——要少用继承,多用合成关系来实现。4、依赖倒转原则——抽象不应该依赖与细节,细节应当依赖与抽象。 要针对接口编程,...阅读全文



