<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xtrgm623</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xtrgm623]]></copyright><item><title><![CDATA[Win32串口编程(4)]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1930301</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1930301</guid><author>xtrgm623</author><pubDate>Tue, 11 Dec 2007 21:57:00 +0800</pubDate><description><![CDATA[//here hCom=CreateFile("COM1",//COM1口  GENERIC_READ|GENERIC_WRITE, //允许读和写  0, //独占方式  NULL,  OPEN_EXISTING, //打开而不是创建  0, //同步方式  NULL); if(hCom==(HANDLE)-1) {  AfxMessageBox("打开COM失败!");  return FAL]]></description><category></category></item><item><title><![CDATA[Win32串口编程(3) ]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1930295</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1930295</guid><author>xtrgm623</author><pubDate>Tue, 11 Dec 2007 21:53:00 +0800</pubDate><description><![CDATA[　在使用ReadFile和WriteFile重叠操作时，线程需要创建OVERLAPPED结构以供这两个函数使用。线程通过OVERLAPPED结构获得当前的操作状态，该结构最重要的成员是hEvent。hEvent是读写事件。当串口使用异步通讯时，函数返回时操作可能还没有完成，程序可以通过检查该事件得知是否读写完毕。　　当调用ReadFile, WriteFile 函数的时候，该成员会自动被置为无]]></description><category></category></item><item><title><![CDATA[Win32串口编程(2)]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1930290</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1930290</guid><author>xtrgm623</author><pubDate>Tue, 11 Dec 2007 21:50:00 +0800</pubDate><description><![CDATA[　在使用ReadFile和WriteFile重叠操作时，线程需要创建OVERLAPPED结构以供这两个函数使用。线程通过OVERLAPPED结构获得当前的操作状态，该结构最重要的成员是hEvent。hEvent是读写事件。当串口使用异步通讯时，函数返回时操作可能还没有完成，程序可以通过检查该事件得知是否读写完毕。　　当调用ReadFile, WriteFile 函数的时候，该成员会自动被置为无]]></description><category></category></item><item><title><![CDATA[Win32串口编程(1)]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1930284</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1930284</guid><author>xtrgm623</author><pubDate>Tue, 11 Dec 2007 21:46:00 +0800</pubDate><description><![CDATA[在工业控制中，工控机（一般都基于Windows平台）经常需要与智能仪表通过串口进行通信。串口通信方便易行，应用广泛。一般情况下，工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的，只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令，智能控制单元在接收到正确的命令后作出应答。　　在Win32下，可以使用]]></description><category></category></item><item><title><![CDATA[串口编程]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1902599</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1902599</guid><author>xtrgm623</author><pubDate>Mon, 26 Nov 2007 12:52:00 +0800</pubDate><description><![CDATA[本文既写了在Windows中怎样用VC控件MSComm，又说明了API技术编程方法，在写用MSComm控件时，数据类型的转换说得不是太明白，初次涉猎串口编程的朋友恐怕看了还是编不出来；直接从底层编写的部分值得一读，说得较为详细，但你得先从VC教本上看一看什么是线程。 目次：(目次添加：龚建伟） 一．串行通信的基本原理 二．串口信号线的接法 三．16位串口应用程序的简单回顾 四．在MFC下的32位串]]></description><category></category></item><item><title><![CDATA[[转]C中volatile关键字]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1897664</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1897664</guid><author>xtrgm623</author><pubDate>Thu, 22 Nov 2007 12:58:00 +0800</pubDate><description><![CDATA[volatile 影响编译器编译的结果,指出，volatile 变量是随时可能发生变化的，与volatile变量有关的运算，不要进行编译优化，以免出错，（VC++ 在产生release版可执行码时会进行编译优化，加volatile关键字的变量有关的运算，将不进行编译优化。）。 例如： volatile int i=10; int j = i; ... int k = i; volatile 告诉编]]></description><category></category></item><item><title><![CDATA[关于c中volatile关键字]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1897650</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1897650</guid><author>xtrgm623</author><pubDate>Thu, 22 Nov 2007 12:49:00 +0800</pubDate><description><![CDATA[这段代码的有个恶作剧。这段代码的目的是用来返指针*ptr指向值的平方，但是，由于*ptr指向一个volatile型参数，编译器将产生类似下面的代码： int square(volatile int *ptr) { int a,b; a = *ptr; b = *ptr; return a * b; } 由于*ptr的值可能被意想不到地该变，因此a和b可能是不同的。结果，这段代码可能返不是你所期望的]]></description><category></category></item><item><title><![CDATA[C语言中volatile 实例讲解]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1897641</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1897641</guid><author>xtrgm623</author><pubDate>Thu, 22 Nov 2007 12:45:00 +0800</pubDate><description><![CDATA[volatile的本意是一般有两种说法--1.“暂态的”；2.“易变的”。 这两种说法都有可行。但是究竟volatile是什么意思，现举例说明（以Keil-c与a51为例 例子来自Keil FQA）,看完例子后你应该明白volatile的意思了，如果还不明白，那只好 再看一遍了。 例1. void main (void) { volatile int i; int j; i = 1; //1 不被]]></description><category></category></item><item><title><![CDATA[C遍历当前文件夹]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1893073</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1893073</guid><author>xtrgm623</author><pubDate>Mon, 19 Nov 2007 17:28:00 +0800</pubDate><description><![CDATA[#include #include extern int  _Cdecl findfirst (const char *path, struct ffblk *ffblk,  int attrib);extern int  _Cdecl findnext (struct ffblk *ffblk);int main(void){   struct ffblk ffblk;   int done]]></description><category></category></item><item><title><![CDATA[C調用Dos命令]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1893069</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1893069</guid><author>xtrgm623</author><pubDate>Mon, 19 Nov 2007 17:27:00 +0800</pubDate><description><![CDATA[#include void main (){  system ("logoff");}]]></description><category></category></item><item><title><![CDATA[用C设计 用C++编码]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1882814</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1882814</guid><author>xtrgm623</author><pubDate>Tue, 13 Nov 2007 20:40:00 +0800</pubDate><description><![CDATA[《不得不看的两次从C++回归C的高手评论C++》中先是提了一下所谓C++带来的思想包袱（文言文曰“心智包袱”）问题，然后重重地引用了Linus的话：“关键是设计”，其实他是在暗示：好的设计C同样能做出来，不劳C++大驾；而C++一旦出面，就要让人背上额外的思想包袱。 我明确地表个态，在系统级程序设计中，事实就是这样的。 别小看这个思想包袱，大部分，甚至绝大部分C++程序员过不了这一关。相反，做系统]]></description><category></category></item><item><title><![CDATA[C++多态中的VPTR]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1882808</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1882808</guid><author>xtrgm623</author><pubDate>Tue, 13 Nov 2007 20:36:00 +0800</pubDate><description><![CDATA[C++中的关键字virtual告诉编译器对于某个成员函数进行动态绑定，而且自动装载实现动态绑定所必须的所有机制。 为了完成这件事，编译器对每个包含虚函数的类创建一个表 (称为VTABLE)。在VTABLE中，编译器旋转特定类的虚函数地址。在每个带有虚函数的类中，编译器“秘密”地置一指针，称为vpointer (缩写为VPTR)，指向这个对象的VTABLE。通过基类指针(或者引用)做虚函数调用时，也]]></description><category></category></item><item><title><![CDATA[使用 typedef 抑制劣质代码]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1865162</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1865162</guid><author>xtrgm623</author><pubDate>Sat, 03 Nov 2007 17:32:00 +0800</pubDate><description><![CDATA[typedef 声明，简称 typedef，为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观，意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型，从而增强可移植性和以及未来的可维护性。本文下面将竭尽全力来揭示 typedef 强大功能以及如何避免一些常见的陷阱。 如何创建平台无关的数据类型，隐藏笨拙且难以理解的语法? 使用 typede]]></description><category></category></item><item><title><![CDATA[使用进行Google攻击]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861759</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861759</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:56:00 +0800</pubDate><description><![CDATA[使用进行Google攻击 Google是一个功能强大的搜索引擎，通过预定义命令，可以查询出令人难以置信的结果。利用Google搜索智能搜索，甚至可以进入部分远程服务器获取机密、搜索敏感信息，造成信息泄露。本文从安全角度，对Google这一工具进行深度信息挖掘。 Google高级搜索语法 　　讨论Google特殊命令前，我们首先了解一下其命令语法，便于理解如何获取机密数据。 intitle: 　　用]]></description><category></category></item><item><title><![CDATA[Google Hacking的实现以及应用]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861756</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861756</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:55:00 +0800</pubDate><description><![CDATA[google hacking其实并算不上什么新东西,在早几年我在一些国外站点上就看见过相关的介绍,但是由于当时并没有重视这种技术,认为最多就只是用来找找未改名的mdb或者别人留下的webshell什么的,并无太大实际用途.但是前段时间仔细啃了些资料才猛然发觉google hacking其实并非如此简单... google hacking的简单实现 记得以前看见过一篇文章写的就是简单的通过用www.]]></description><category></category></item><item><title><![CDATA[Google搜索从入门到精通(4)  v4.0]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861747</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861747</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:49:00 +0800</pubDate><description><![CDATA[导读： 　　 　　■13、Google的其他杰出功能 　　13.1、网页快照 　　网页快照是Google抓下来缓存在服务器上的网页。它有三个作用： 　　第一， 如果原地址打开很慢，那么可以直接查看Google缓存页面，因为Google服务器速度极快。 　　第二， 如果原链接已经死掉或者因为网络的原因暂时链接不通，那么可以通过Google快照看到该页面信息。当然，快照内容不是该页最新页面。 　　第三]]></description><category></category></item><item><title><![CDATA[Google搜索从入门到精通(3) v4.0]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861746</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861746</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:49:00 +0800</pubDate><description><![CDATA[9、其他罕用语法 9.1、搜索所有链接到某个URL地址的网页 如果你拥有一个个人网站，估计很想知道有多少人对你的网站作了链接。而“link”语法就能让你迅速达到这个目的。 示例：搜索所有含指向华军软件园“www.newhua.com”链接的网页。 搜索：“link:www.newhua.com” 结果：搜索有链接到www.newhua.com的网页 。 共约有920项查询结果，这是第1-10项 。]]></description><category></category></item><item><title><![CDATA[Google搜索从入门到精通(2)  v4.0]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861742</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861742</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:47:00 +0800</pubDate><description><![CDATA[导读： 　　 　　■7、杂项语法 　　7.1、通配符问题 　　很多搜索引擎支持通配符号，如“*”代表一连串字符，“?”代表单个字符等。Google对通配符支持有限。它目前只可以用“*”来替代单个字符，而且包含“*”必须用""引起来。比如，“"以*治国"”，表示搜索第一个为“以”，末两个为“治国”的四字短语，中间的“*”可以为任何字符。 　　7.2、关键字的字母大小写 　　Google对英文字符大小]]></description><category></category></item><item><title><![CDATA[Google搜索从入门到精通 v4.0]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1861741</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1861741</guid><author>xtrgm623</author><pubDate>Thu, 01 Nov 2007 18:46:00 +0800</pubDate><description><![CDATA[导读： 　　 　　■1、前言 　　我是在2000年上半年知道Google的。在这之前，我搜索英文信息通常用AltaVista，而搜索中文信息则常用Sina。但自使用了Google之后，它便成为我的Favorite Search engine了。这也得感谢新浪网友曹溪，因为当初正是因为他的大力推介，才使我识得了Google。 　　记得1996年夏季的时候，当我第一次接触Internet，便被扑面而来]]></description><category></category></item><item><title><![CDATA[#pragma 预处理指令详解]]></title><link>https://blog.youkuaiyun.com/xtrgm623/article/details/1845482</link><guid>https://blog.youkuaiyun.com/xtrgm623/article/details/1845482</guid><author>xtrgm623</author><pubDate>Fri, 26 Oct 2007 16:54:00 +0800</pubDate><description><![CDATA[在所有的预处理指令中，#Pragma 指令可能是最复杂的了，它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数，下面来看一些常用的参数。 ]]></description><category></category></item></channel></rss>