<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[strokeyang]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/yy_msdn</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; yy_msdn]]></copyright><item><title><![CDATA[Bind: Address Already in Use  Or How to Avoid this Error when Closing TCP Connections]]></title><link>https://blog.csdn.net/yy_msdn/article/details/6705250</link><guid>https://blog.csdn.net/yy_msdn/article/details/6705250</guid><author>yy_msdn</author><pubDate>Sat, 20 Aug 2011 22:54:55 +0800</pubDate><description><![CDATA[In order for a network connection to close, both ends have to send FIN (final)
 packets, which indicate they will not send any additional d]]></description><category></category></item><item><title><![CDATA[Linux 32位向64位移植的一些问题及解决]]></title><link>https://blog.csdn.net/yy_msdn/article/details/6658262</link><guid>https://blog.csdn.net/yy_msdn/article/details/6658262</guid><author>yy_msdn</author><pubDate>Wed, 03 Aug 2011 22:25:15 +0800</pubDate><description><![CDATA[整理了网上提到的Linux 32位向64位移植时的一些问题及解决方法,分享给大家参考!
1.数据截断：
由于long类型变量的运算（赋值、比较、移位等）产生。long定义在x86上为32bits,而在ia64上为64bits.容易在与int型变量运算时出现异常。
处理方法：]]></description><category></category></item><item><title><![CDATA[将32位代码向64位平台移植的注意事项]]></title><link>https://blog.csdn.net/yy_msdn/article/details/6658247</link><guid>https://blog.csdn.net/yy_msdn/article/details/6658247</guid><author>yy_msdn</author><pubDate>Wed, 03 Aug 2011 22:22:03 +0800</pubDate><description><![CDATA[阅读提示：随着低成本64位平台的来临，加上内存和硬盘价格的不断下跌，无疑为32位程序向64位硬件的移植又加了一把劲，那些科学运算、数据库、消耗大量内存或密集浮点运算的程序也搭上了这一顺风车。在本文中，主要讨论向64位平台移植现有32位代码时，应注意的一些细小问题。


新近]]></description><category></category></item><item><title><![CDATA[HashTable的实现]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4850709</link><guid>https://blog.csdn.net/yy_msdn/article/details/4850709</guid><author>yy_msdn</author><pubDate>Sun, 22 Nov 2009 10:32:00 +0800</pubDate><description><![CDATA[ 为了实现高效访问一个集合中的元素，Mpr中实现了Hash Table，其结构如下图所示 类的简单描述：MprHashTable是存储和管理Hash内容的类，MprHashEntry是HashTable的一项，有三个派生类MprStringHashEntry、MprStaticHashEntry和MprObjectHashEntry 个各类的详细描述]]></description><category></category></item><item><title><![CDATA[双向循环链表的实现]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4850696</link><guid>https://blog.csdn.net/yy_msdn/article/details/4850696</guid><author>yy_msdn</author><pubDate>Sun, 22 Nov 2009 10:29:00 +0800</pubDate><description><![CDATA[   最近将一个开源项目port到嵌入式设备上，发现其巨大部分类都是继承于双向链表（或者双向队列），这一个过程看似不可思议（感觉有违我们以前学的面向对象的知识），但是事实却是这样的方式使很多操作都变得简单起来，由于类继承于Link，则在Link类中不需要用特定的变量指向特定的数据，而这一过程在使用这个类的时候已近默认的实现。以前读本科的时候，也只是了解到了双向循环链表的理论，没有实现，今天乘这个机]]></description><category></category></item><item><title><![CDATA[tellwait.c]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032235</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032235</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:25:00 +0800</pubDate><description><![CDATA[#include "apue.h"static volatile sig_atomic_t sigflag; /* set nonzero by sig handler */static sigset_t newmask, oldmask, zeromask;static voidsig_usr(int signo)	/* one signal handler for SI]]></description><category></category></item><item><title><![CDATA[prexit.c]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032228</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032228</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:23:00 +0800</pubDate><description><![CDATA[#include "apue.h"#include voidpr_exit(int status){	if (WIFEXITED(status))		printf("normal termination, exit status = %d/n",				WEXITSTATUS(status));	else if (WIFSIGNALED(status))		]]></description><category></category></item><item><title><![CDATA[err.c]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032223</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032223</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:20:00 +0800</pubDate><description><![CDATA[ #include "apue.h"#include       /* for definition of errno */#include      /* ISO C variable aruments */static void err_doit(int, int, const char *, va_list);/* * Nonfatal error related]]></description><category></category></item><item><title><![CDATA[apue.h]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032218</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032218</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:19:00 +0800</pubDate><description><![CDATA[ /* Our own header, to be included before all standard system headers */#ifndef _APUE_H#define _APUE_H#define _XOPEN_SOURCE   600  /* Single UNIX Specification, Version 3 */#include     ]]></description><category></category></item><item><title><![CDATA[mulTdCpfile.c]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032201</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032201</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:09:00 +0800</pubDate><description><![CDATA[#include "apue.h"#include #include void * copyFile(void *);// 创建空的文件int createFile(int fd, int size);/**  确定文件所属的大小范围，根据这个大小范围确定拷贝子进程的数目  *  * 返回值  1   －－－－－－－ 文件大小小于10K， 1个拷贝子进程]]></description><category></category></item><item><title><![CDATA[多线程文件拷贝整体架构]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4032182</link><guid>https://blog.csdn.net/yy_msdn/article/details/4032182</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 15:00:00 +0800</pubDate><description><![CDATA[ ]]></description><category></category></item><item><title><![CDATA[三个阶段]]></title><link>https://blog.csdn.net/yy_msdn/article/details/4031425</link><guid>https://blog.csdn.net/yy_msdn/article/details/4031425</guid><author>yy_msdn</author><pubDate>Sat, 28 Mar 2009 08:54:00 +0800</pubDate><description><![CDATA[1.多线程拷贝2.通过解析url，得到文件信息3.在firefox中添加插件]]></description><category></category></item><item><title><![CDATA[不错的实例(automake)]]></title><link>https://blog.csdn.net/yy_msdn/article/details/3946622</link><guid>https://blog.csdn.net/yy_msdn/article/details/3946622</guid><author>yy_msdn</author><pubDate>Sun, 01 Mar 2009 09:48:00 +0800</pubDate><description><![CDATA[1、准备:     需要工具autoscan aclocal autoheader automake autoconf make 等工具.  2、测试程序编写：     建立目录：mkdir include src     编写程序：include/str.h#include int str(char *string);      编写程序：src/str.c    #include "s]]></description><category></category></item><item><title><![CDATA[automake之hello例子]]></title><link>https://blog.csdn.net/yy_msdn/article/details/3946616</link><guid>https://blog.csdn.net/yy_msdn/article/details/3946616</guid><author>yy_msdn</author><pubDate>Sun, 01 Mar 2009 09:43:00 +0800</pubDate><description><![CDATA[automake之hello例子 1.新建c文档 2.生成configure autoscan cp configure.scan configure.in 编辑 configure.in现在将configure.scan改名为configure.in，并且编辑它，按下面的内容修改，去掉无关的语句： =========================]]></description><category></category></item><item><title><![CDATA[Linux下动态库静态库的使用]]></title><link>https://blog.csdn.net/yy_msdn/article/details/3363295</link><guid>https://blog.csdn.net/yy_msdn/article/details/3363295</guid><author>yy_msdn</author><pubDate>Mon, 24 Nov 2008 17:07:00 +0800</pubDate><description><![CDATA[ 本文主要解决以下几个问题1 为什么要使用库？2 库的分类3 创建自己的库或许大家对自己初学linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器，在linux下安装软件将是一件及其痛苦的工作。你装a包时，可能会提示你要先装b包，当你费尽心力找到b包时，可能又会提示你要先安装c包。我就曾被这样的事搞的焦头烂额，至今一提起rpm仍心有余悸，头皮发麻。说是一朝被蛇咬，十]]></description><category></category></item><item><title><![CDATA[动态库与静态库的原理介绍]]></title><link>https://blog.csdn.net/yy_msdn/article/details/3363260</link><guid>https://blog.csdn.net/yy_msdn/article/details/3363260</guid><author>yy_msdn</author><pubDate>Mon, 24 Nov 2008 17:03:00 +0800</pubDate><description><![CDATA[在UNIX 的应用开发中，静态库和动态库都是我们经常用到的技术，有必要对这两个概念及其原理做一些介绍。静态库静态库是一些目标文件的集合，通常为后缀为.o 的文件，通过ar 工具打包而成，命名格式为libxxx.a ，其中xxx 为给定的静态库文件名，如libm.a ，为数学函数库，用户也可以命名自己的库。在创建可执行程序的过程中，静态库同时被链接到程序代码，被主程序调用的函数目]]></description><category></category></item><item><title><![CDATA[ch06:目录操作]]></title><link>https://blog.csdn.net/yy_msdn/article/details/2522689</link><guid>https://blog.csdn.net/yy_msdn/article/details/2522689</guid><author>yy_msdn</author><pubDate>Sun, 08 Jun 2008 10:29:00 +0800</pubDate><description><![CDATA[ 第六章 目录操作#include char *getcwd(char *buff, size_t size);ERANGEchar *buf;int len = 50;buf = malloc(len);while (!getcwd(buf, len) && errno = ERANGE){       len += 50;       buf = rea]]></description><category></category></item><item><title><![CDATA[ch05:高级文件操作]]></title><link>https://blog.csdn.net/yy_msdn/article/details/2520987</link><guid>https://blog.csdn.net/yy_msdn/article/details/2520987</guid><author>yy_msdn</author><pubDate>Sat, 07 Jun 2008 20:51:00 +0800</pubDate><description><![CDATA[ 第五讲 高级文件操作#include #include #include  int main(){       int fds[2];       char buf[4096];       int i, fd;              if ((fds[0] = open("p1",O_RDONLY))        {        ]]></description><category></category></item><item><title><![CDATA[ch04:信号处理]]></title><link>https://blog.csdn.net/yy_msdn/article/details/2509854</link><guid>https://blog.csdn.net/yy_msdn/article/details/2509854</guid><author>yy_msdn</author><pubDate>Wed, 04 Jun 2008 10:26:00 +0800</pubDate><description><![CDATA[ 第四讲 信号处理信号是进程间通信的最简单形式信号的生命周期简单信号#include void *signal(int signum, void *handler);SIG_IGN, SIG_DFL, SIGKILL, SIGSTOP可靠信号 （sigset_t）信号和系统调用 Linux信号系统api       发送信号       int ]]></description><category></category></item><item><title><![CDATA[ch03: 文件管理]]></title><link>https://blog.csdn.net/yy_msdn/article/details/2499569</link><guid>https://blog.csdn.net/yy_msdn/article/details/2499569</guid><author>yy_msdn</author><pubDate>Sat, 31 May 2008 17:41:00 +0800</pubDate><description><![CDATA[ 第三讲 文件管理文件模式       常规文件管道（IPC）：Linux系统的进程间通信的一种机制，FIFO的文件，有两种管道：无名管道和命名管道目录文件：以文件的方式进行操作设备文件：大多数物理设备都用文件来表示，有两种设备文件：块设备和字符设备符号连接：包含到定义文件的特殊路径，类似于windows下的快捷方式套接字：进程间通信的机制基本的文件操作  ]]></description><category></category></item></channel></rss>