- 博客(27)
- 问答 (1)
- 收藏
- 关注
转载 do...while(0)的妙用
在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto语句。通常,如果在
2015-04-03 16:42:20
431
转载 socket select函数的详细讲解
原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组
2013-01-17 19:37:31
579
转载 VC2010中初学者常见的错误、警告和问题
这一章将帮助大家解释一些常见的错误、警告和问题,帮助大家去理解和解决一些常见问题,并了解它的根本原因。iostream.h与下面的代码为什么在VC2010下面编译不过去?#include int main(){coutreturn 0;}错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or
2012-09-21 11:41:54
1546
转载 vc工程配置积累
链接某个lib : #pragma comment(lib, "libname.lib") // libname.lib是lib文件的名字抑制某个警告: #pragma warning(disable : warning_number) // warning_number是警告编号 判断VC版本的宏: MS VC++ 9.0 _MSC_VER =
2012-09-21 10:43:32
482
转载 串口通讯中的DCB结构
typedef struct _DCB { // dcb DWORD DCBlength; // sizeof(DCB) DWORD BaudRate; // current baud rate 指定当前的波特率 DWORD fBinary: 1; // binary mode,
2012-07-25 16:36:40
466
转载 使用Win32API实现Windows下异步串口通讯(下)
只一个框架性流程而矣............实现重叠模型的步骤下面就结合俺写的一个Console程序简单示例进行说明:【第一步】打开串口 HANDLE m_hCom = CreateFile("com1",GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL)
2012-07-25 16:30:22
760
转载 使用Win32API实现Windows下异步串口通讯(上)
目录:1. 异步非阻塞串口通讯的优点2. 异步非阻塞串口通讯的基本原理3. 异步非阻塞串口通讯的基础知识4. 异步非阻塞串口通讯的实现步骤2005.01.05一,异步非阻塞串口通讯的优点读写串行口时,既可以同步执行,也可以重叠(异步)执行。在同步执行时,函数直到操作完成后才返回。这意味着在同步执行时线程会被阻塞,从而导致效率下降。在重叠执行时,即使操作还未完
2012-07-25 16:28:51
886
转载 Modbus协议理解
读线圈:就是说读开关量输出的状态,看看开关量输出的到底是开着的还是关着的,这样说有点不专业,但是好明白。比如要在上位机显示开关量输出的当状态,就得用这个功能码。 写线圈:就是说读开关量输入的状态,开关量的输入大多是为了查看执行元件的动作情况,看看是否执行到位。 读保持寄存器:就是说对被控制的从器件设置一些状态值,如设置时间,设置一些定值,设置互感器的变比什么的。 读输入寄存器:意
2012-06-06 16:06:44
660
原创 muxbind函数使用
#include "vxWorks.h"#include "netinet/in.h"#include "netinet/ip.h"#include "netinet/if_ether.h"#include "netinet/udp.h"#include "private/muxlibP.h"#define ARRAY_BROADCAST_PORT 2020#de
2011-10-31 20:30:06
3390
1
转载 muxSend发送
我想用muxSend()来发送一个自己填充的数据帧,其中由于对M_BLK_ID pMblk结构不是很了解,我也只是通过WindRiver提供的文档已经一些头文件来猜测着填充pMblk的各个成员。整个程序的主要步骤如下:STATUS muxSendData() //The entry of the program{int j;char *ifname = "motfec";//网络接
2011-10-27 16:46:21
3000
转载 vxworks下MUX接口的使用
1. END驱动与MUX接口概述VxWorks下增强型网络驱动-END(EnhancedNetworkDriver)是一个数据链路层驱动程序,增强型网络驱动(END)是OSI模型中数据链路层的实现,通过MUX函数与网络协议层通讯。END驱动程序是基于MUX模式,网络驱动程序被划分为协议组件和硬件组件。MUX作为数据链路层和网络层之间的接口,它管理网络协议接口和低层硬件接口之间的交互,将硬件从网
2011-10-24 16:19:48
1596
转载 vxWorks中sysClkRateGet()返回系统时钟详解
操作系统总是基于某个时钟节拍来跑的。。。这个节拍的得到往往是通过硬件时钟中断得到,一般来说这个中断的优先级就比NMI低一点点,比其他的都高。。这个中断是共给操作系统用的,操作系统用他来进行调度啊什么的各种处理。而在vxWorks中的一个重要参数就是SYS_CLK_RATE这个参数
2011-08-24 19:29:34
1736
1
转载 VxWorks中文FAQ
前言(Surface):随着国内使用VxWorks的用户越来越多,为了方便VxWorkers少走一些弯路,特别推出了中文FAQ,其中很多的FAQ来自comp.os.vxworks和原创。(很多FAQ都可以在该新闻组找到英文版)文档的FAQ总共分为7大类:1.入
2011-08-08 11:36:58
3502
转载 C语言 fgets函数与fputs函数用法
fgets (buf, size, fp)其行为方式如下:(1)遇到换行或文件结束EOF则返回。(2)按行读取。(3)每一行结束处的换行字符‘/n’也算该行字符。(4)对于大小为size的buf,最多只读取size-1个字符。(5)自动地把buf中最后一个字符(通常是换行符)的后面一个字节填充零结束符(/0)。因此如果想把buf中的换行符去掉,可以这样:buf[strlen(buf)-1] =
2011-06-07 15:09:00
10100
转载 在 Windows 7 中安装和使用 Windows XP Mode
使用 Windows XP Mode 时,您可以在运行 Windows 7 专业版、企业版或旗舰版的电脑上运行专为 Windows XP 设计的程序。 程序既可以在 Windows XP Mode 中运行,也可以在 Windows 7 中运行。Windows XP Mode 如何运行?Windows XP Mode 以两种方式运行,一种是作为虚拟操作系统运行,另一种是像 Windows 7 中的程序一样打开。Windows XP Mode 在 Windows 7 桌面上以单独的窗口运行,很像一个程序,不过
2011-05-11 16:55:00
1251
1
转载 win7如何设置自动备份
<br /> Windows 7顺应用户的需求, 备份系统的功能也有很大的提高,其中的win7自动备份可以让系统按指定的方法备份系统,不用我们干预. 下面就来看看如何设置自动备份方面的电脑知识.<br /> 我们常说的自动备份也就是计划备份,Windows 7中有系统保护功能、映像保护功能及计划备份功能, 他们感觉都是一样,其实还有很多不一样的, 系统保护功能只有备份一些重要的资料和设置, 战用的空间和资源都比较小,但是创建映像功能和计划备份功能因为我备份整个系统, 要比较大空间和占用比较多的系统资
2011-01-05 16:50:00
2421
转载 堆
堆(Heap)和栈(Stack)不同,堆是给进程用的,用来存储各个线程申请的内存块。<br />不能同时在堆上进行Alloc操作,这就意味这如果2个线程同时执行new操作,那么一个可以执行,另一个要等到这个执行完毕才可以执行new——否则的话,可能返回同一个地址,而线程还傻乎乎的以为是不同的呢。因此,如果想获取高效率而不出现问题(当然还有其他原因),那么可以另外创建一个堆来使用。使用函数HeapCreate来创建一个堆。<br /> 从堆中分配内存:HeapAlloc<br /> 改变已分配内存
2010-11-23 16:46:00
706
转载 VC工具栏相关问题
<br />如何并列停靠多个工具栏 <br />给工具栏添加文字的方法<br />对话框添加工具栏的问题<br />更多参考<br />http://www.codeproject.com/docking/ctrls_in_tb.asp<br />===============================================<br />VC下一行中如何并列停靠多个工具栏 <br />第一个工具栏:<br />if (!m_wndToolBar.CreateEx(this, TBSTYLE_F
2010-09-09 11:27:00
583
转载 MFC如何修改窗口背景色
<br />MDI窗口的客户区是由frame窗口拥有的另一个窗口覆盖的。为了改变frame窗口背景的颜色,只需要这个客户区的背景颜色就可以了。你必须自己处理WM_ERASEBKND消息。下面是工作步骤: <br /> 创建一个从CWnd类继承的类,就叫它CMDIClient吧; <br /> 在CMDIFrameWnd中加入CMDIClient变量;(具体情况看下面的代码) <br /><br />#include "MDIClient.h"<br />class CMainFrame : public
2010-09-09 11:27:00
800
转载 Doxygen配置(翻译)
<br />来源:http://dev.csdn.net/article/63/63284.shtm<br />注意:可以任意转载,但请注名出处<br />使用Doxygen文档开发工具时需要进行的配置:<br /> <br />可执行文件 doxygen 是原代码分析和生成文档的主要工具. 请看 Doxygen usage 章节来获取更详细的使用帮助. <br />Doxytag可执行文件---仅仅是用来实现帮助程序员生成不需要看原代码就能了解工程部署信息的doxygen文档的参考文档( 例如:那些使用d
2010-08-18 10:14:00
805
转载 准点吃饭,几十年不变
<br />李玉奇,1917年出生,从医60余载,为全国老中医药专家学术经验继承工作指导老师。现任辽宁中医药大学教授、博士生导师,辽宁中医药大学附属医院主任医师。<br />已经九旬高龄的李玉奇老人,就像他自己所说,耳聪目明、言谈利落、身体指标,全部达标。谈到自己的养生之道,李老先生表示,主要有三:<br /> 一、饮食起居有规律。<br /> 李老曾说:“吾起居有矩,寝食有规。每日卯时随日出而起,缓带宽服漫步于庭。夏日则信步林荫,冬月则踏雪户外。伸臂摇颈,活动筋骨,摧动血脉,缓步百米而返。晚餐之后,或
2010-07-21 10:39:00
485
转载 中医教你睡觉的诀窍
<br />医学的体验、观察,一个人真正睡着觉最多只有两个钟头,其余都是浪费时间,躺在枕头上做梦,没有哪个人不做梦。至于醒来觉得自己没有做梦,那是因为他忘记了。 <br /><br /> 通常一个人睡两个钟头就够了,为什么有人要睡七、八个钟头?那是你赖床躺在枕头上休息的习惯养成的,并非我们需要那么久的睡眠时间,尤其打坐做功夫的人晓得,正午只要闭眼真正睡着三分钟,等于睡两个钟头,不过要对好正午的时间。夜晚则要在正子时睡着,五分钟等于六个钟头。 <br /><br /> 就这个时间的学问又大
2010-07-21 10:04:00
496
转载 一个IT人士的个人经历,给迷失方向的朋友
<br />一个IT人士的个人经历,给迷失方向的朋友 <br /><br />这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 <br /><br />一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中间走了很多弯路,
2010-07-20 14:43:00
450
转载 #define中 #与##的神奇用法
<br />本文整理自csdn。<br />#define f(a,b) a##b <br />#define d(a) #a <br />#define s(a) d(a) <br /><br />void main( void ) <br />{ <br /> puts(d(f(a,b))); <br /> puts(s(f(a,b))); <br />} <br /><br />输出结果: <br />f(a,b) <br />ab<br />分析: ##把两个符号连起来 <br />
2010-06-22 11:45:00
629
1
原创 自定义CEdit右键菜单,并响应右键菜单命令
<br />首先创建一个类,这里命名为CEditBox,其派生自CEdit。然后在资源中创建一个Menu,我这里命名其ID为IDR_VOL_VALUE。<br />在CEditBox的OnContextMenu中添加自定义右键菜单:<br /> void CEditBox::OnContextMenu(CWnd* pWnd, CPoint point){ if (point.x == -1 && point.y == -1) //SHIFT+F10 { //keystroke invoc
2010-06-02 16:41:00
1572
1
转载 Windows消息分类,消息大全
1 标准消息: 除 WM_COMMAND 外, 以 WM 开头所有消息。2 非标准消息:以WM_COMMAND 呈现 命令消息 : 由菜单、工具栏按钮、加速键 产生。 通告消息: 由控件产生。 标准消息:CWnd 的派生类都可以接受。命令消息、通告消息:CCmdTarget派生的类都可以接受.标准消息不能被 CWinApp 和CDocument 类接受. 消息,就是指Window
2010-05-27 18:36:00
420
转载 vc鼠标消息与键盘消息
在Microsoft Windows 中,键盘和鼠标是两个标准的用户输入源,在一些交叠的操作中通常相互补充使用。当然,鼠标在今天的应用程序中比10年前使用得更为广泛。甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏、画图程序、音乐程序,以及Web创览器等程序中就是这样。然而,我们可以不使用鼠标,但绝对不能从一般的PC中拆掉键盘。 相对于个人计算机的其他组件,键盘有非常久远的历史,它起源于1
2010-05-21 17:02:00
561
空空如也
如何捕获鼠标的左右滚轮消息,然后模拟Shift按键按下
2015-02-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人