<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pbmichael</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pbmichael]]></copyright><item><title><![CDATA[MODBUS TCP/IP（三）中文版-（完）]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/4204847</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/4204847</guid><author>pbmichael</author><pubDate>Wed, 20 May 2009 22:02:00 +0800</pubDate><description><![CDATA[附    录A. 客户机和服务器应用指南 本部分的注释不应当作与客户机和服务器的任何特殊的应用捆绑起来。但是，当应用多厂商系统和网关去安装MODBUS设备，遵从这些内容将大大减小综合的“疑难”。      下面的软件结构假设在熟悉BSD Sockets 服务器接口基础上， 正如用于UNIX and Windows NT。                             ]]></description><category></category></item><item><title><![CDATA[MODBUS TCP/IP（二）中文版]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/4204842</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/4204842</guid><author>pbmichael</author><pubDate>Wed, 20 May 2009 22:01:00 +0800</pubDate><description><![CDATA[4. 协议结构                                   本部分阐述了通过MODBUS/TCP网络携带的MODBUS请求和或响应封装的一般格式。必须注意到请求和响应本体（从功能代码到数据部分的末尾）的结构和其它MODBUS变量具有完全相同的版面格式和含义，如：                               MODBUS 串行端口 - ASCI]]></description><category></category></item><item><title><![CDATA[MODBUS TCP/IP（一）中文版]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/4203176</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/4203176</guid><author>pbmichael</author><pubDate>Wed, 20 May 2009 10:32:00 +0800</pubDate><description><![CDATA[1．该规范的发展概况                                   原始版本1997年9月3日作为公共评论的草案。     再版1999年3月29日，即修订版1.0。     没有大的技术改动，仅作了补充说明。增加了附录A和B作为对一些常用执行问题的回应。 该MODBUS/TCP规范在万维网上公开发行。它表明开发者的意愿是把它作为工业自动化领域具有互用性的]]></description><category></category></item><item><title><![CDATA[解析“extern”]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/2800766</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/2800766</guid><author>pbmichael</author><pubDate>Wed, 20 Aug 2008 12:03:00 +0800</pubDate><description><![CDATA[解析“extern”1、  声明外部变量现代编译器一般采用按文件编译的方式，因此在编译时，各个文件中定义的全局变量是互相透明的，也就是说，在编译时，全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程，里面含有A.cpp和B.cpp两个简单的C++源文件：//A.cpp int i; void main(){    ]]></description><category></category></item><item><title><![CDATA[关于头文件AfxTempl.h数组模板类简介]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/2778482</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/2778482</guid><author>pbmichael</author><pubDate>Wed, 06 Aug 2008 19:15:00 +0800</pubDate><description><![CDATA[CArray  m_Array;MFC中定义的数组模板类，其有两个参数：第一个参数：数组元素的类型，该例中是CA1，即m_Array是CA1数组；第二个参数：一般有两种选择，一种选择与第一个参数类型相同，即传值。第二种选择是第一个参数类型的引用，即传引用。建议：对于内置类型，如double，第二个参数传值和传引用均可；而对于用户自定义类型，如本例中的类CA1，最好采取传引用方式。]]></description><category></category></item><item><title><![CDATA[C++标准库函数strtok的功能]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1723378</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1723378</guid><author>pbmichael</author><pubDate>Thu, 02 Aug 2007 21:11:00 +0800</pubDate><description><![CDATA[函数用途:得到字符串s1中首次出现s2中的字符前的子字符串函数原型:char *strtok(char *s1,const char *s2);输入参数:该函数将s1中首次出现s2中字符的位置置为NULL，因此会破坏s1字符串。该函数一般用于分解s1字符串为用特定分隔符分隔的多个字符串，s2一般设置为s1中的分隔字符，比如空格，逗号等，例如将一条自然英文语句分解为单词。返回值:字符串s1中首次出现]]></description><category></category></item><item><title><![CDATA[开发Pro*C/C++应用程序的步骤]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1685288</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1685288</guid><author>pbmichael</author><pubDate>Wed, 11 Jul 2007 15:02:00 +0800</pubDate><description><![CDATA[第一步：根据应用需求编写预编译源程序(.pc)，在该预编译源程序中包含了内嵌SQL语句和PL/SQL语句；第二步：使用 Pro*C/C++工具程序(proc)将内嵌SQL语句和PL/SQL语句转换为对SQLLIB库函数的调用，并生成C/C++源代码文件(*.c或.cpp)；第三步：使用C/C++工具编译C/C++源文件，生成目标代码文件(.obj)；第四步：使用C/C++工具链]]></description><category></category></item><item><title><![CDATA[C++的static关键字]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1679712</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1679712</guid><author>pbmichael</author><pubDate>Thu, 05 Jul 2007 15:01:00 +0800</pubDate><description><![CDATA[作者：韩耀旭　　C++的static有两种用法：面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数，不涉及类；后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前，加上关键字static，该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子，如下： //Example 1#in]]></description><category></category></item><item><title><![CDATA[ 深入浅出C++之private/public/protected]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1678110</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1678110</guid><author>pbmichael</author><pubDate>Wed, 04 Jul 2007 10:52:00 +0800</pubDate><description><![CDATA[下面这个问题摘自论坛的一个帖子：已知3个类O、P和Q，类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3：类P和类Q是类O的派生类，其继承方式如下所示： class P : protected O {…}; class Q : public O {…};关于方法F1的描述中正确的是___(34)___；关于方法F2韵描述中正确的是___(35)___；关于方法F3的描述中正确]]></description><category></category></item><item><title><![CDATA[#ifndef、#def、#endif等宏的含义]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1668314</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1668314</guid><author>pbmichael</author><pubDate>Wed, 27 Jun 2007 10:47:00 +0800</pubDate><description><![CDATA[一般情况下，源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译，也就是对一部分内容指定编译的条件，这就是“条件编译”。有时，希望当满足某条件时对一组语句进行编译，而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为：     #ifdef 标识符     程序段1     #else     程序段2     #endif          它的作用是：当]]></description><category></category></item><item><title><![CDATA[C++中的Singleton模式]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1648150</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1648150</guid><author>pbmichael</author><pubDate>Mon, 11 Jun 2007 20:14:00 +0800</pubDate><description><![CDATA[用C++实现Singleton的思路是把构造函数设为私有,通过静态函数GetInstance()获得对象的唯一实例.    见到很多例子都是使用指针来动态创建这个唯一实例,像这样: Singleton* GetInstance(){    if (instance == NULL){        instance = new Singleton();    }    return i]]></description><category></category></item><item><title><![CDATA[什么是Web 服务？]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1619246</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1619246</guid><author>pbmichael</author><pubDate>Mon, 21 May 2007 14:00:00 +0800</pubDate><description><![CDATA[ Web 服务是一种可以用来解决跨网络应用集成问题的开发模式，这种模式为实现“软件作为服务”提供了技术保障。而“软件作为服务”实质上是一种提供软件服务的机制，这种机制可以在网络上暴露可编程接口，并通过这些接口来共享站点开放出来的功能。从技术角度来讲，Web 服务实现了最广泛的应用软件集成，弥补了传统软件开发模型的限制。Web 服务产生之前，在网络上提供对象服务通常要采用DCOM(Distr]]></description><category></category></item><item><title><![CDATA[C/C++ 跨平台I/O操作技巧]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1619213</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1619213</guid><author>pbmichael</author><pubDate>Mon, 21 May 2007 13:33:00 +0800</pubDate><description><![CDATA[译者序：文章的内容很简单，也不见得完全正确。跨平台I/O需要考虑的事情远非这篇文章的篇幅所能描述，这里介绍的只是一些最基本，最简单的需要注意的事情。以下是翻译的正文：如果你正在写从文件或网络读写数据的跨平台C/C++代码，那么你必须明白有些问题是因语言，编译器，平台而不同的。 主要的问题是数据对齐，填充，类型大小，字节顺序和默认状态char是否有符号。对齐特定机器上，特定的数据被对齐于]]></description><category></category></item><item><title><![CDATA[为什么C++赋值运算符重载函数不能被继承？]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1608250</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1608250</guid><author>pbmichael</author><pubDate>Mon, 14 May 2007 14:35:00 +0800</pubDate><description><![CDATA[为什么C++赋值运算符重载函数不能被继承？(zz:http://www.cqumzh.cn/topic_show.php?tid=134570)这个问题曾经困扰过我一阵子。请先看一下下面的源代码：class A1{public:        int operator=(int a)        {                return 8;        }        int]]></description><category></category></item><item><title><![CDATA[ox7c938fea指令引用的ox63305858内存,该内存不能为written是什么原因?]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1607341</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1607341</guid><author>pbmichael</author><pubDate>Sun, 13 May 2007 21:01:00 +0800</pubDate><description><![CDATA[内存不能为“read”或“written”的解决方案 有些人运行程序的时候会弹出该内存不能为“read”的错误提示。希望以下文章能对大家有所帮助。 使用Windows操作系统的人有时会遇到这样的错误信息，运行某些程序的时候，有时会出现内存错误的提示，然后该程序会自动关闭或点击后关闭，严重的会无法关闭。 “0x????????”指令引用的“0x????????”内存。该内存不能为“read”。 “0]]></description><category></category></item><item><title><![CDATA[C++中的子对象]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1603681</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1603681</guid><author>pbmichael</author><pubDate>Thu, 10 May 2007 21:37:00 +0800</pubDate><description><![CDATA[当一个类的成员是某一个类的对象时，该对象就为子对象。子对象实际就是对象成员。例如：class　A　　　　　　 {　……. }　　　　　　 class　B　　　　　　 { public: …….　　　　　　　 private:　　A　 a;……… };其中, a是子对象,它是A类的对象作为B类的成员。在类中出现了子对象或对象成员时，该类的构造函数要包含对子对象的初始化，通]]></description><category></category></item><item><title><![CDATA[C++中的堆对象]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1602614</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1602614</guid><author>pbmichael</author><pubDate>Thu, 10 May 2007 09:18:00 +0800</pubDate><description><![CDATA[#include iostream> using namespace std;class Tree { public:    Tree(int height) //this->    {         cout"tree object is creating"endl;         this->height = height;     }    ~Tree()     {        ]]></description><category></category></item><item><title><![CDATA[C++中函数调用返回自定义类型对象（一）]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1574061</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1574061</guid><author>pbmichael</author><pubDate>Sat, 21 Apr 2007 21:59:00 +0800</pubDate><description><![CDATA[class  ca   {};   ca f()   {             ca   x;             return   x;   }   int  main()   {ca  y= f();return 0;}   中间过程是有临时对象产生的     这个过程相当于：     ca类型的临时变量   =   f();     ca   y   =   ca类型的临时]]></description><category></category></item><item><title><![CDATA[ c++里关于cerr,clog,cout三者的区别]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1572734</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1572734</guid><author>pbmichael</author><pubDate>Fri, 20 Apr 2007 16:49:00 +0800</pubDate><description><![CDATA[c++里关于cerr,clog,cout三者的区别:cerr(无缓冲标准错误)----------没有缓冲，发送给它的内容立即被输出clog(缓冲标准错误)------------有缓冲，缓冲区满时输出cout--------------------------------标准输出三个都是ostream类定义的输出流对象.cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放]]></description><category></category></item><item><title><![CDATA[如何用C++向量vector生成二维数组]]></title><link>https://blog.youkuaiyun.com/pbmichael/article/details/1569037</link><guid>https://blog.youkuaiyun.com/pbmichael/article/details/1569037</guid><author>pbmichael</author><pubDate>Wed, 18 Apr 2007 14:12:00 +0800</pubDate><description><![CDATA[如何用C++向量vector生成二维数组呢？请看如下程序：#include iostream>#include vector>#include iomanip>using namespace std;int main(){ int i,     j,     m, //行数     n; //列数  cout  "input value for m,n:"; cin>>m>>n;  /]]></description><category></category></item></channel></rss>