- 博客(31)
- 资源 (25)
- 收藏
- 关注
原创 Win32串口编程(4)
//here hCom=CreateFile("COM1",//COM1口 GENERIC_READ|GENERIC_WRITE, //允许读和写 0, //独占方式 NULL, OPEN_EXISTING, //打开而不是创建 0, //同步方式 NULL); if(hCom==(HANDLE)-1) { AfxMessageBox("打开COM失败!"); return FAL
2007-12-11 21:57:00
668
原创 Win32串口编程(3)
在使用ReadFile和WriteFile重叠操作时,线程需要创建OVERLAPPED结构以供这两个函数使用。线程通过OVERLAPPED结构获得当前的操作状态,该结构最重要的成员是hEvent。hEvent是读写事件。当串口使用异步通讯时,函数返回时操作可能还没有完成,程序可以通过检查该事件得知是否读写完毕。 当调用ReadFile, WriteFile 函数的时候,该成员会自动被置为无
2007-12-11 21:53:00
495
原创 Win32串口编程(2)
在使用ReadFile和WriteFile重叠操作时,线程需要创建OVERLAPPED结构以供这两个函数使用。线程通过OVERLAPPED结构获得当前的操作状态,该结构最重要的成员是hEvent。hEvent是读写事件。当串口使用异步通讯时,函数返回时操作可能还没有完成,程序可以通过检查该事件得知是否读写完毕。 当调用ReadFile, WriteFile 函数的时候,该成员会自动被置为无
2007-12-11 21:50:00
505
原创 Win32串口编程(1)
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使用
2007-12-11 21:46:00
551
原创 串口编程
本文既写了在Windows中怎样用VC控件MSComm,又说明了API技术编程方法,在写用MSComm控件时,数据类型的转换说得不是太明白,初次涉猎串口编程的朋友恐怕看了还是编不出来;直接从底层编写的部分值得一读,说得较为详细,但你得先从VC教本上看一看什么是线程。 目次:(目次添加:龚建伟) 一.串行通信的基本原理 二.串口信号线的接法 三.16位串口应用程序的简单回顾 四.在MFC下的32位串
2007-11-26 12:52:00
632
原创 [转]C中volatile关键字
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i; volatile 告诉编
2007-11-22 12:58:00
851
1
原创 关于c中volatile关键字
这段代码的有个恶作剧。这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码: int square(volatile int *ptr) { int a,b; a = *ptr; b = *ptr; return a * b; } 由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。结果,这段代码可能返不是你所期望的
2007-11-22 12:49:00
580
原创 C语言中volatile 实例讲解
volatile的本意是一般有两种说法--1.“暂态的”;2.“易变的”。 这两种说法都有可行。但是究竟volatile是什么意思,现举例说明(以Keil-c与a51为例 例子来自Keil FQA),看完例子后你应该明白volatile的意思了,如果还不明白,那只好 再看一遍了。 例1. void main (void) { volatile int i; int j; i = 1; //1 不被
2007-11-22 12:45:00
1288
1
原创 C遍历当前文件夹
#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
2007-11-19 17:28:00
741
1
原创 用C设计 用C++编码
《不得不看的两次从C++回归C的高手评论C++》中先是提了一下所谓C++带来的思想包袱(文言文曰“心智包袱”)问题,然后重重地引用了Linus的话:“关键是设计”,其实他是在暗示:好的设计C同样能做出来,不劳C++大驾;而C++一旦出面,就要让人背上额外的思想包袱。 我明确地表个态,在系统级程序设计中,事实就是这样的。 别小看这个思想包袱,大部分,甚至绝大部分C++程序员过不了这一关。相反,做系统
2007-11-13 20:40:00
450
原创 C++多态中的VPTR
C++中的关键字virtual告诉编译器对于某个成员函数进行动态绑定,而且自动装载实现动态绑定所必须的所有机制。 为了完成这件事,编译器对每个包含虚函数的类创建一个表 (称为VTABLE)。在VTABLE中,编译器旋转特定类的虚函数地址。在每个带有虚函数的类中,编译器“秘密”地置一指针,称为vpointer (缩写为VPTR),指向这个对象的VTABLE。通过基类指针(或者引用)做虚函数调用时,也
2007-11-13 20:36:00
467
原创 使用 typedef 抑制劣质代码
typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。本文下面将竭尽全力来揭示 typedef 强大功能以及如何避免一些常见的陷阱。 如何创建平台无关的数据类型,隐藏笨拙且难以理解的语法? 使用 typede
2007-11-03 17:32:00
485
原创 使用进行Google攻击
使用进行Google攻击 Google是一个功能强大的搜索引擎,通过预定义命令,可以查询出令人难以置信的结果。利用Google搜索智能搜索,甚至可以进入部分远程服务器获取机密、搜索敏感信息,造成信息泄露。本文从安全角度,对Google这一工具进行深度信息挖掘。 Google高级搜索语法 讨论Google特殊命令前,我们首先了解一下其命令语法,便于理解如何获取机密数据。 intitle: 用
2007-11-01 18:56:00
746
原创 Google Hacking的实现以及应用
google hacking其实并算不上什么新东西,在早几年我在一些国外站点上就看见过相关的介绍,但是由于当时并没有重视这种技术,认为最多就只是用来找找未改名的mdb或者别人留下的webshell什么的,并无太大实际用途.但是前段时间仔细啃了些资料才猛然发觉google hacking其实并非如此简单... google hacking的简单实现 记得以前看见过一篇文章写的就是简单的通过用www.
2007-11-01 18:55:00
554
原创 Google搜索从入门到精通(3) v4.0
9、其他罕用语法 9.1、搜索所有链接到某个URL地址的网页 如果你拥有一个个人网站,估计很想知道有多少人对你的网站作了链接。而“link”语法就能让你迅速达到这个目的。 示例:搜索所有含指向华军软件园“www.newhua.com”链接的网页。 搜索:“link:www.newhua.com” 结果:搜索有链接到www.newhua.com的网页 。 共约有920项查询结果,这是第1-10项 。
2007-11-01 18:49:00
389
原创 Google搜索从入门到精通(4) v4.0
导读: ■13、Google的其他杰出功能 13.1、网页快照 网页快照是Google抓下来缓存在服务器上的网页。它有三个作用: 第一, 如果原地址打开很慢,那么可以直接查看Google缓存页面,因为Google服务器速度极快。 第二, 如果原链接已经死掉或者因为网络的原因暂时链接不通,那么可以通过Google快照看到该页面信息。当然,快照内容不是该页最新页面。 第三
2007-11-01 18:49:00
418
原创 Google搜索从入门到精通(2) v4.0
导读: ■7、杂项语法 7.1、通配符问题 很多搜索引擎支持通配符号,如“*”代表一连串字符,“?”代表单个字符等。Google对通配符支持有限。它目前只可以用“*”来替代单个字符,而且包含“*”必须用""引起来。比如,“"以*治国"”,表示搜索第一个为“以”,末两个为“治国”的四字短语,中间的“*”可以为任何字符。 7.2、关键字的字母大小写 Google对英文字符大小
2007-11-01 18:47:00
451
1
原创 Google搜索从入门到精通 v4.0
导读: ■1、前言 我是在2000年上半年知道Google的。在这之前,我搜索英文信息通常用AltaVista,而搜索中文信息则常用Sina。但自使用了Google之后,它便成为我的Favorite Search engine了。这也得感谢新浪网友曹溪,因为当初正是因为他的大力推介,才使我识得了Google。 记得1996年夏季的时候,当我第一次接触Internet,便被扑面而来
2007-11-01 18:46:00
378
原创 #pragma 预处理指令详解
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。
2007-10-26 16:54:00
431
转载 uC/OS-II实时操作系统在嵌入式平台上进行移植的一般方法和技巧
实时操作系统的使用,能够简化嵌入式系统的应用开发,有效地确保稳定性和可靠性,便于维护和二次开发。 μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性,除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。 在μC/OS-II官方的主页上可以查找到一个比较全面的移植范例列表。但是,在实际的开发项目中,仍然没有针对项目所采用芯片或开发工具的合适版
2007-10-18 12:39:00
479
原创 SaveMail.py
import poplibimport cStringIOimport emailimport base64M = poplib.POP3(pop.163.com)M.user(xtrgm523)M.pass_(pass)numMessages = len(M.list()[1])print num of messages, numMessagesfor i in ran
2007-10-16 20:33:00
509
原创 MailPop3.py
import poplibimport repopClient = poplib.POP3(pop3.163.com)popClient.user(xtrgm523)popClient.pass_(5321210623)numMsgs, mboxSize = popClient.stat()print "Number of messages ", numMsgsprint "
2007-10-16 20:31:00
403
原创 GetMail.py
import poplib,string,emailfrom email.Header import Headerdef pop3conn(host,account,password): mailInBox=poplib.POP3(host) mailInBox.user(account) mailInBox.pass_(password)
2007-10-16 20:30:00
466
转载 NorFlash与NandFlash对比
FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。在实际开发中,设计者可以根据产品需求来进行闪存的合理选择。 1、接口对比 NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可
2007-10-16 19:57:00
1735
原创 unicode 编码转换器源代碼
Unicode 编码转换器body { background-color: white; margin-top: 24px; }h1 { font: normal 20px 黑体; text-align: center; color: black; }td, textarea, input, select { font: normal 12px Courier New; color:
2007-10-15 17:03:00
921
原创 窗口类的诞生(注册自己的窗口类)
一.什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC在调用Windows的API(CreateWindow或者CreateWindowEx)创建窗口之前,要求程序员必须定义一个窗口类(不是传统C++意义上的类)来规定所创建该窗口所需要的各种
2007-06-22 13:56:00
499
原创 凸多边形碰撞的NFP算法实现
最近我写了一个关于凸多边形碰撞的NFP算法的小程序,这里把代码传上来大家看一看。程序是用devc++实现的windowsAPI程序。http://download1.youkuaiyun.com/down3/20070622/22130938822.rar 代码如下: #include windows.h>#include stdlib.h> #include stdio.h>
2007-06-22 13:11:00
1624
原创 Python 做的盲人邮件收发器
做了好久终于把盲人邮件收发给做好了,这里先把代码传上来,大家给些评价。。。http://download1.youkuaiyun.com/down3/20070518/18224156149.py
2007-05-18 22:42:00
1333
1
原创 用python 处理邮件附件
有时你的电脑上恰好没有 邮件阅读器,或者是附件被OE禁止访问了,郁闷啊,附件里边可能是很重要的文件,没法打开。如果你的电脑上装了python 的话,用下边一段代码就可以很快地把你的邮件中的附件完完整整的解析出来,并保存在你的电脑上。 首先在你的电脑上e盘里建个mail 文件夹,里边再建个attach文件夹,把你的邮件(.eml)拷到mail 文件夹里,运行下边的代码就可以了。你的附件就保存在
2007-05-18 21:50:00
1432
转载 用Python处理邮件,全文完
[原创] 用Python处理邮件,全文完. http://www.chinaunix.net 作者:jasonnbfan 发表于:2006-08-2
2006-09-05 18:22:00
4235
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人