[转]vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
摘要:三个SDK函数:WinExec,ShellExecute,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。WinExec两个参数,前一个指定路径,后一个指定显示方式。ShellE...
阅读全文
posted @
2014-07-29 11:54
木椅
阅读(317)
推荐(0)
C语言中的位域[转]
摘要:有些信息在存储时,并不需要占用一个完整的字节,而只需要一个或几个二进制位即可;比如:在存放一个开关量时,只有0和1两种状态,只需要使用一个二进制位即可存储;为了节省存储空间,C语言提供了一种数据结构,称为"位域"或"位段";所谓"位域"就是把一个字节中的8个二进制位划分为几个不同的区域,并说明每个区...
阅读全文
posted @
2014-04-15 15:32
木椅
阅读(479)
推荐(0)
编码习惯调整
摘要:编写代码,我是半路出家,没有哪位老师给出明确的建议怎么书写代码注释。所以,从来也没形成过自己的代码注释风格,汗颜。这一段时间在写PCI-CAN的驱动接口封装,感觉编写代码时候比较费力,绕路,有些基本性的编码技能需要改善。1.代码注释注释的目的是什么呢?代码是给人看的,给自己也给别人看。既然这样,注释应该简单、清晰、有用。这一点可以参加转载的文章编写易于理解代码的六种方式注释是用中文还是英文呢?看习惯老外写的代码,总觉得中文注释别扭,表述不清晰,而且中文注释总是给你语法错误提示。结合自己的外语水平,还是用简单的英文注释。什么地方加注释?函数、全局变量、设计的数据结构、宏定义。其实准则很简单,你觉
阅读全文
posted @
2014-03-26 14:23
木椅
阅读(237)
推荐(0)
技巧:在 C/C++中如何构造通用的对象链表[转]
摘要:原文:技巧:在 C/C++中如何构造通用的对象链表虚拟链表和类链表可以很好地实现这一点您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。一个简化的问题示例链表的难点在于必须复制链表处理函数来处理不同的对象,即便逻辑是完全相同的。例如:两个结构类似的链表struct Struct_Object_A{ int a; int b; Struct_Object_A *next;} OBJECT_A;typedef struct Struct_Object_B{ int a; i...
阅读全文
posted @
2014-03-25 21:28
木椅
阅读(363)
推荐(0)
编写易于理解代码的六种方式[转]
摘要:[原文]编写易于理解代码的六种方式如何让您免受读不懂代码的折磨对于一名开发人员,时间是最宝贵的资源。本文所要介绍的这六种编写可维护代码的方法可以保证让您节省时间和少受挫折:在编写注释上多花一分钟,会让您少受一小时研读代码的痛苦折磨。我学习编写、改善和维护代码的过程是很艰苦的。在过去的 12 年里,我一直在编写计算机游戏并通过曾红极一时的共享软件技术进行网络销售,并以此为生。这就是说,我常常要从空白的屏幕开始从头编码,当代码达到数万行之后才能拿去销售。这也就是说,如果我出了错,我必须要自己去解决问题。当我在凌晨三点还在竭力寻找 bug 的时候,看着这些不知所云的晦涩代码,我不禁自问:“我的天啊,
阅读全文
posted @
2014-03-25 20:22
木椅
阅读(328)
推荐(0)
循环数组实现FIFO
摘要:涉及到数据通信的软件开发,不能回避的一点是,设计一个实用高效率的数据缓冲区,例如fifo。今天在做项目时候,需要缓存CAN总线上的数据,然后再需要的时候读这些数据。下边给出我自己设计的,采用循环数组实现的FIFO,未经过严格的测试,请您斟酌。需要指出的是,fifo的数组深度是256,采用的数组下标是unchar类型,当下标在0xff加1,到达数组末端时,刚好unchar类型的下标溢出为0,这样免去了手动修改下标。先看代码:#pragma once#include #include "afx.h"#define BUF_MAX 256struct _fifo { int bu
阅读全文
posted @
2014-03-21 19:54
木椅
阅读(2229)
推荐(0)