He,YuanHui —— 业精于勤荒于嬉,行成于思毁于随

如果你喜欢一个事,又有这样的才干,那就把整个人都投入进去,就要象一把刀直扎下去直到刀柄一样,不要问为什么,也不要管会碰到什么。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  C/C++

1 2 下一页

摘要:ASCII码对照表,便于查阅对照 阅读全文
posted @ 2012-09-06 13:34 He,YuanHui 阅读(1533) 评论(0) 推荐(0)

摘要:=================================================本文为HeYuanHui原作转载必须确保本文完整并完整保留原作者信息及本文原始链接!NN: khlerE-mail: khler@163.comQQ:23381103MSN:pragmac@hotmail.com=================================================最近碰到一个问题,对于阻塞模式的socket通讯,如果要实现设备的命令控制,那么进入命令流前,缓冲区不能存有上次通讯没有取回的信息,否则一旦命令发出,然后读取缓冲区,很显然会读到上一次的剩余数 阅读全文
posted @ 2011-05-16 09:47 He,YuanHui 阅读(16156) 评论(2) 推荐(0)

摘要:u-boot 移植步骤详解 2008-05-17 19:53:421 U-Boot简介U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支 阅读全文
posted @ 2011-02-21 00:45 He,YuanHui 阅读(1318) 评论(0) 推荐(1)

摘要:fcntl和select函数彻底搞明白第一、fcntl函数详细使用 fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。 当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。 fcntl文件锁有两种类型:建议性锁和强制性锁 建议性锁是这样规定的:每个使用上锁文件的进程都要检查是否有锁存在,当然还得尊重已有的锁。内核和系统总体上都坚持不使用建议性锁,它们依靠程序员遵守这个规定。 强制性锁是由内核执行的。当文件被上锁来进行写入操作时,在锁定该文件 阅读全文
posted @ 2010-12-20 18:10 He,YuanHui 阅读(938) 评论(0) 推荐(0)

摘要:ubuntu下串口调试助手推荐: cutecom先上个PP图,cutecom的主界面如下所示:在WinXP下经常用的是minicom,或者是自己写的小工具,cutecom相对于minicom而言,多了一个输入命令历史列表,这个功能不错。下边说下安装,在ubuntu下比较简单,直接用新立得软件包管理器安装即可使用命令cutecom启动。这里额接的是usb转串口,pl2303,其名字叫ttyUSB0。ubuntu内已经集成了驱动,不需要再安装,插入usb转串口后,使用dmesg | grep usb,可以查看其安装情况。我这边输出显示有这样一句:[11117.004678] usb 4-1: pl 阅读全文
posted @ 2010-12-20 14:50 He,YuanHui 阅读(5891) 评论(0) 推荐(0)

摘要:=================================================本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接E-mail: khler@163.comQQ:23381103MSN:pragmac@hotmail.com=================================================主要有两个方法,其... 阅读全文
posted @ 2010-11-10 09:34 He,YuanHui 阅读(32698) 评论(1) 推荐(1)

摘要:当客户端保持着与服务器端的连接,这时服务器端断开,再开启服务器时会出现:Address already in usr 可以用netstat -anp | more 可以看到客户端还保持着与服务器的连接(还在使用服务器bind的端口)。这是由于client没有执行close,连接还会等待client的FIN包一段时间。解决方法是使用setsockopt,使得socket可以被重用,是最常用的服务器编... 阅读全文
posted @ 2010-10-28 15:32 He,YuanHui 阅读(1093) 评论(0) 推荐(0)

摘要:=================================================本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接E-mail: khler@163.comQQ:23381103MSN:pragmac@hotmail.com原址:http://www.cnblogs.com/khler/archive/2010/09/27/1836559... 阅读全文
posted @ 2010-09-27 10:51 He,YuanHui 阅读(3622) 评论(3) 推荐(0)

摘要:1. 前言  Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行... 阅读全文
posted @ 2010-09-26 15:02 He,YuanHui 阅读(637) 评论(0) 推荐(1)

摘要:C/C++中,sizeof()是编译时由编译器计算结果的,所以在需要高性能的地方,你大可以放心使用而不必担心性能问题! 阅读全文
posted @ 2010-09-26 09:04 He,YuanHui 阅读(741) 评论(2) 推荐(0)

摘要:好几年没用C/C++了,由于项目需要,重拾C/C++,使用中时不时的有种亲切感涌来。由于C/C++的自由,让人痛苦但更是让人喜欢的原因,一些经验和技巧显得尤为重要。 最近总是想不明白,一个函数返回一个内存或者对象的指针,那么这个指针指向的对象(内存)到底由谁来释放?要知道,函数返回指针,通常是给外部临时使用的,其指向的内存通常由函数或者成员函数所在的对象自己来管理,其实就是遵从一个原则:自己的事自... 阅读全文
posted @ 2010-09-23 19:09 He,YuanHui 阅读(3379) 评论(0) 推荐(0)

摘要:最近接的项目是模拟多个socket 客户端与服务器进行通信。由于Linux 系统的限制,在/usr/include/linux/posix_types.h文件中有如下的宏定义:#undef __FD_SETSIZE#define __FD_SETSIZE 1024这个宏是对最大文件描述符的定义为1024。当需要1024个以上的fd时,例如select()函数就会侦听出错。因此需要将1024改成需要... 阅读全文
posted @ 2010-09-19 14:17 He,YuanHui 阅读(745) 评论(0) 推荐(0)

摘要:守护进程在Linux/Unix系统中有着广泛的应用。有时,开发人员也想把自己的程序变成守护进程。在创建一个守护进程的时候,要接触到子进程、进程组、会晤期、信号机制、文件、目录和控制终端等多个概念。因此守护进程还是比较复杂的,在这里详细地讨论Linux/Unix的守护进程的编写,总结出八条经验,并给出应用范例。编程要点1.屏蔽一些有关控制终端操作的信号。防止在守护进程没有正常运转起来时,控制终端受到... 阅读全文
posted @ 2010-09-19 14:03 He,YuanHui 阅读(320) 评论(0) 推荐(0)

摘要:一般当一个进程终止后都会发送SIGCHLD信号给它的父进程,并由此变为僵死进程直到父进程接收了其状态报告其资源才会被系统释放; 处理方法有3种: 1. 当子进程终止时父进程接收SIGCHLD信号并调用waitpid()函数接收其状态报告,最好用sigaction(),signal()不可靠; 2. 通过函数sigaction指明标志SA_NOCLDWAIT来指定信号SIGCHLD的动作,这使得内核在调用者的子进程终止时不创建僵死进程。 3. 二次fork调用; 阅读全文
posted @ 2010-09-19 14:00 He,YuanHui 阅读(474) 评论(0) 推荐(0)

摘要:本文来自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... 阅读全文
posted @ 2010-09-16 19:25 He,YuanHui 阅读(807) 评论(0) 推荐(0)

摘要:1.简 介 log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。 log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期;你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过... 阅读全文
posted @ 2010-09-15 14:08 He,YuanHui 阅读(1713) 评论(0) 推荐(0)

摘要:首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。  最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:  一. 在 MFC 中检测内存泄漏  假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。  我们... 阅读全文
posted @ 2010-09-14 09:31 He,YuanHui 阅读(448) 评论(0) 推荐(0)

摘要:大字节序、小字节序原理说明及各操作系统的判断及转换方法 阅读全文
posted @ 2010-08-26 15:17 He,YuanHui 阅读(3242) 评论(0) 推荐(0)

摘要:在socket编程中,服务器端accept()等待一个客户端的连接,当连接成功后,accept拷贝客户端的地址信息到sin_addr里面,我们如何从sin_addr取得此客户端的Ip地址和端口号呢?实际上,当sockaddr_in.sin_family = AF_INET时,sockaddr =sockaddr_in。据此,我们可以做一下转换,就可以利用 inet_ntoa() 来得到ip地址和端... 阅读全文
posted @ 2010-08-24 16:04 He,YuanHui 阅读(39683) 评论(0) 推荐(2)

摘要:Ubuntu 在安装时,如同大部分 Linux 发行版一样,都会同时安装 GNU 版本的 Java。这个 Java 的实用程度太低,尤其对于开发人员来说,是没有太多用处的。在 Ubuntu 下,安装 SUN Java 是一件很容易的事情。第一步: 原文:http://blog.csdn.net/firefoxboy/archive/2008/11/26/3380225.aspx 阅读全文
posted @ 2010-08-20 17:33 He,YuanHui 阅读(1686) 评论(0) 推荐(0)

1 2 下一页

Add to Google