<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[顺子的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaoshun123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaoshun123]]></copyright><item><title><![CDATA[函数模板和模板函数]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/50771317</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/50771317</guid><author>xiaoshun123</author><pubDate>Tue, 01 Mar 2016 11:37:55 +0800</pubDate><description><![CDATA[1.函数模板的声明和模板函数的生成



1.1函数模板的声明

函数模板可以用来创建一个通用的函数，以支持多种不同的形参，避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。

函数模板的声明形式为：

template

(参数表)

{

    函数体

}

其中，template是定义模板函数的关键字；template后面的]]></description><category></category></item><item><title><![CDATA[win7 ubuntu安装及卸载]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/8102840</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/8102840</guid><author>xiaoshun123</author><pubDate>Tue, 23 Oct 2012 14:41:09 +0800</pubDate><description><![CDATA[win7 ubuntu安装及卸载

四步完成win7 ubuntu双系统安装（硬盘，无需光驱）
2010年10月20日
适用环境：
    理论上win7、vista系统32位或64位均可。ubuntu适用与10.X版本，且ubuntu-10.10-desktop-i386.iso 和ubuntu-10.10-desktop-amd64.iso测试通过。
接下来以ubuntu-10.1]]></description><category></category></item><item><title><![CDATA[应用程序正常初始化(0xc0150002)失败]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/6546147</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/6546147</guid><author>xiaoshun123</author><pubDate>Wed, 15 Jun 2011 14:31:00 +0800</pubDate><description><![CDATA[原因是有库找不到。为什么找不到呢？有两个可能的情况：1、系统中没有这个库。该程序用到了 C++ 的运行库，而你的操作系统中缺少所需的组件或组件版本不对，打一下补丁就好了。Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)支持的操作系统： Windows 2000; Windows Server 2003; Wi]]></description><category></category></item><item><title><![CDATA[windows下的调试宏定义]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/6461387</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/6461387</guid><author>xiaoshun123</author><pubDate>Thu, 02 Jun 2011 15:18:00 +0800</pubDate><description><![CDATA[<br /> <br /> <br />windows下的调试宏定义。<br />#define DPRINTF(fmt, ...)
 printf("/n[项目名] Debug:%s()(%d)"fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__)
]]></description><category></category></item><item><title><![CDATA[动态链接库的使用]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/6458674</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/6458674</guid><author>xiaoshun123</author><pubDate>Wed, 01 Jun 2011 10:26:00 +0800</pubDate><description><![CDATA[<br />    应用程序可以调用的DLL函数，在DLL中叫做导出函数，而在应用程序中叫做导入函数。应用程序中的导入函数与DLL文件中的导出函数进行链接有两种方式：隐式链接和显式链接。<br /> 一、隐式链接<br />在建立一个DLL文件时，编译器会自动生成一个与该文件对应的导入库文件（扩展名为lib）。该文件包含了DLL中所有导出函数所有DLL库的名称，应用程序可以根据这个文件来寻找并加载DLL。由于在程序中没有出现加载DLL的代码，所以把这种链接方式叫做隐式链接。<br /> <br />Wind]]></description><category></category></item><item><title><![CDATA[sqlite-C语言API介绍]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/6117300</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/6117300</guid><author>xiaoshun123</author><pubDate>Wed, 05 Jan 2011 10:29:00 +0800</pubDate><description><![CDATA[<br />1.1应用示例<br />  在这一部分我将展示一些简单的应用程序来说明SQLite的众多特性。这些应用程序将在下面的一些子部分中展示<br />1.1.1一个SQLite应用示例<br />  让我们通过学习一个很简单的应用程序来开始我们SQLite大陆的探险吧。下面的例子展示了一个典型的SQLite应用程序。它是一个使用SQLite API来处理一个SQLite数据库文件的C程序。<br />  这是一个典型的SQLite应用程序：<br /><br />#include <stdio.h>]]></description><category></category></item><item><title><![CDATA[嵌入式linux-sqlite]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/6117247</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/6117247</guid><author>xiaoshun123</author><pubDate>Wed, 05 Jan 2011 10:09:00 +0800</pubDate><description><![CDATA[<br />前一阵字做项目(嵌入式linux)，由于要保存大量的数据，而且最长要保存30天的时间。本来打算保存到文件中，每次启动应用程序的时候重新解析一遍，可是当数据量很大的时候，就出现效率的问题了。所以最后还是放弃了使用文件的打算，决定使用数据库存取数据。<br />linux下的数据库也很多，有开源的，也有收费的。对于我们来说，肯定要使用开源的数据库。以前用过Berkely DB，但是需要licience。所以结合效率性能以及大小限制，最终选定了Sqlite DB。我们对它的评价是“sqlite是一个优]]></description><category></category></item><item><title><![CDATA[sqrt 函数 -> 想想实现]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5945770</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5945770</guid><author>xiaoshun123</author><pubDate>Sat, 16 Oct 2010 20:13:00 +0800</pubDate><description><![CDATA[首先申明：此文章为网络转载，地址：http://www.cnblogs.com/pkuoliver/archive/2010/10/06/sotry-about-sqrt.html=========================================================源码下载地址：http://blog.redfox66.com/post/story-about-sqrt.aspx好吧，我承认我标题党了，不过既然你来了，就认真看下去吧，保证你有收获。我们平时经常会有一些数据运算的操]]></description><category></category></item><item><title><![CDATA[content-type]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5883493</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5883493</guid><author>xiaoshun123</author><pubDate>Tue, 14 Sep 2010 14:44:00 +0800</pubDate><description><![CDATA[<br />要学习content-type,必须事先知道它到底是什么，是干什么用的。<br />HTTP协议（RFC2616）采用了请求/响应模型。客户端向服务器发送一个请求，请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应，相应的内容包括消息协议的版本，成功或者错误编码加上包含服务器信息、实体元信息以 及可能的实体内容。<br />通常HTTP消息由一个起始行，一个或者多个头域，一个只是头域结束的空行和可选的消息体组成。HT]]></description><category></category></item><item><title><![CDATA[可重入函数与不可重入函数分析]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5868183</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5868183</guid><author>xiaoshun123</author><pubDate>Tue, 07 Sep 2010 11:47:00 +0800</pubDate><description><![CDATA[可重入函数与不可重入函数分析来源：互联网 作者：互联网 时间：2010-09-07 Tag：可重入函数   点击：

1 <br />　　主要用于多任务环境中，一个可重入的函数简单来说就是可以被中断的函数，也就是说，可以在这个函数执行的任何时刻中断它，转入OS调度下去执行另外一段代码，而返回控制时不会出现什么错误；而不可重入的函数由于使用了一些系统资源，比如全局变量区，中断向量表等，所以它如果被中断的话，可能会出现问题，这类函数是不能运行在多任务环境下的。<br />　　也可以这样理解，重入即表示重复进]]></description><category></category></item><item><title><![CDATA[Linux系统shell脚本判断变量文件目录：权限、是否存在、空值、相等 ]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5839786</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5839786</guid><author>xiaoshun123</author><pubDate>Thu, 26 Aug 2010 10:54:00 +0800</pubDate><description><![CDATA[先写一些基本语法： 1、字符串判断 str1 = str2　　　　　　当两个串有相同内容、长度时为真 str1 != str2　　　　　 当串str1和str2不等时为真 -n str1　　　　　　　 当串的长度大于0时为真(串非空) -z str1　　　　　　　 当串的长度为0时为真(空串) str1　　　　　　　　 当串str1为非空时为真 2、数字的判断 int1 -eq int2　　　　两数相等为真 int1 -ne int2　　　　两数不等为真 int1 -gt int2　　　　int1大于int]]></description><category></category></item><item><title><![CDATA[source insignt在编写web开发时的中文乱码问题]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773822</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773822</guid><author>xiaoshun123</author><pubDate>Thu, 29 Jul 2010 14:20:00 +0800</pubDate><description><![CDATA[<br />参见：我博客里的另一篇文章《关于编码：ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS ... 》<br /> <br />当你使用source insignt编写web程序，但是在程序中将编码指定为“UTF-8”，那必将显示乱码。<br /> <br />“因为你代码里的汉字用的是GB类编码，但你想让浏览器使用你所指定的UTF-8来显示！”？]]></description><category></category></item><item><title><![CDATA[CGI编程 - c语言实现 ：网页显示HTML代码的问题]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773808</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773808</guid><author>xiaoshun123</author><pubDate>Thu, 29 Jul 2010 14:16:00 +0800</pubDate><description><![CDATA[<br />在cgi编程中，c语言实现是很好的选择。<br /> <br />在使用printf等函数来绘制网页时，在最开始的时候一定要有：<br />    printf("Content-type: text/html/r/n");
    printf("/r/n");
<br /> <br />cgi机制会在最开始寻找冒号（：），其实就是找这个语法。]]></description><category></category></item><item><title><![CDATA[文件读写操作的缓存机制]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773326</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773326</guid><author>xiaoshun123</author><pubDate>Thu, 29 Jul 2010 11:01:00 +0800</pubDate><description><![CDATA[<br />       在使用fwrite, fread时，并不是每调用一次就对文件进行读写操作。标准I/O为write,read之类的调用提供了缓存。它对每个I/O流自动的进行缓存管理，避免应用程序需要考虑这点所带来的麻烦。这样做的目的是避免频繁I/O操作浪费大量时间。然而，我们在实际编程中往往欠考虑I/O 缓存机制，从而带来许多意想不到的麻烦。<br />       缓存有三种类型，分别是全缓存，行缓存，不带缓存(见一本伟大的书《Unix 环境高级编程》)。一般我们操作磁盘上文件的时候，用全缓存的类]]></description><category></category></item><item><title><![CDATA[关于编码：ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS ...]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773303</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5773303</guid><author>xiaoshun123</author><pubDate>Thu, 29 Jul 2010 10:57:00 +0800</pubDate><description><![CDATA[<br /> 一直对字符的各种编码方式懵懵懂懂，什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕，假如您细细的阅读本文你一定可以清晰的理解他们。Let's go!<br />          <br />    很久很久以前，有一群人，他们决定用8个可以开合的晶体管来组合成不同的状态，以表示世界上的万物。他们看到8个开关状态是好的，于是他们把这称为"字节"。 <br />    再后来，他们又做了一些可以处理这些字节的机器，机器开动了，可以用字节来组合出很]]></description><category></category></item><item><title><![CDATA[PC-Lint的代码检查功能]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752979</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752979</guid><author>xiaoshun123</author><pubDate>Wed, 21 Jul 2010 16:25:00 +0800</pubDate><description><![CDATA[                           《3、PC-Lint的代码检查功能》    PC-Lint能够检查出很多语法错误和语法上正确的逻辑错误，PC-Lint为大部分错误消息都分配了一个错误号，编号小于1000的错误号是分配给C 语言的，编号大于1000的错误号则用来说明C++的错误消息。表 1 列出了PC-Lint告警消息的详细分类：表 1 列出了PC-Lint告警消息分类错误说明CC++告警级别语法错误1-1991001-11991内部错误200-299 0致命错误300-399 0告警4]]></description><category></category></item><item><title><![CDATA[PC LINT  错误信息禁止选项说明]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752970</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752970</guid><author>xiaoshun123</author><pubDate>Wed, 21 Jul 2010 16:23:00 +0800</pubDate><description><![CDATA[<br /><br /><br />命令格式               说明                                                    代码中的举例<br />-e#                         隐藏某类错误                                    /*lint -e725 */<br />-e(#)                      隐藏下一表达式中的某类错误        /*lint –e(534)]]></description><category></category></item><item><title><![CDATA[ PC-Lint 重要文件说明]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752968</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752968</guid><author>xiaoshun123</author><pubDate>Wed, 21 Jul 2010 16:22:00 +0800</pubDate><description><![CDATA[<br /> PC-Lint 重要文件说明<br /> <br />　　Msg.txt ：解释告警的内容。<br />　　options.lnt ：反映全局编译信息显示情况的选项文件，通常需要添加自定选项以使代码检查更为严格。<br />　　env-xx.lnt ：讲述如何将PC-lint与对应的编辑环境结合起来，xx是si表示是为Source Insight配置的检查环境，xx是vc6则表示是为Visual C++ 6.0准备的检查环境。<br />　　co-xxx.lnt ：选定的编译器与库选项。<br]]></description><category></category></item><item><title><![CDATA[PC-Lint检测中的常见错误]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752965</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752965</guid><author>xiaoshun123</author><pubDate>Wed, 21 Jul 2010 16:21:00 +0800</pubDate><description><![CDATA[<br />                  《PC-Lint检测中的常见错误》<br /> <br />  <br />错误编码  错误说明      举例<br />40    变量未声明 <br />506    固定的Boolean值     char c=3;<br />            if(c<300){}<br />525    缩排格式错误 <br />527    无法执行到的语句    if(a > B)<br />            return TRUE;<br /> ]]></description><category></category></item><item><title><![CDATA[PC-Lint软件使用方法]]></title><link>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752944</link><guid>https://blog.youkuaiyun.com/xiaoshun123/article/details/5752944</guid><author>xiaoshun123</author><pubDate>Wed, 21 Jul 2010 16:17:00 +0800</pubDate><description><![CDATA[<br /> <br />                                              《PC-Lint软件使用方法》<br /> <br /> <br />1 安装与配置<br /> <br />    PC-lint软件性价比高，易于学习，容易推广和固化到软件开发测试流程中去，所以在全世界得到了广泛的应用。PC-lint使用方法很简单，可以用命令行方式进行，例如lint-nt –u std.lnt test1.c test2.c test3.c 也可以使用MAKEFILE的]]></description><category></category></item></channel></rss>