摘要: 最近研究了一下MFC下对串口的操作,测试了一下对设备的读写。1.打开串口 1 GetDlgItem(IDC_BUTTON_OPEN)->EnableWindow(FALSE); 2 m_hComm = CreateFile("COM1", 3 GENERIC_READ... 阅读全文
posted @ 2014-08-01 17:20 万载一梦 阅读(1312) 评论(0) 推荐(0)
摘要: 一、C代码静态库四个.h.c文件add.h1 #ifndef ADD_H2 #define ADD_H3 4 int add(int a,int b);5 6 #endifadd.c1 #include 2 3 int add(int a,int b)4 {5 printf("%d %d\n",a,b);6 return (a + b);7 }decrease.h1 #ifndef DECREASE_H2 #define DECREASE_H3 4 int decrease(int a,int b);5 6 #endifdecrease.c1 #include 2 3 in 阅读全文
posted @ 2013-12-03 12:59 万载一梦 阅读(1734) 评论(0) 推荐(0)
摘要: 供自己学习使用md5.h文件#ifndef MD5_H #define MD5_H#include #include /* Type define */typedef unsigned char byte;typedef unsigned long ulong;using std::string;using std::ifstream;/* MD5 declaration. */class MD5 {public: MD5(); MD5(const void *input, size_t length); MD5(const string &str); MD5(ifstream &am 阅读全文
posted @ 2013-09-29 10:17 万载一梦 阅读(482) 评论(0) 推荐(0)
摘要: 进程间通信之消息队列2009-10-19 来源:网络消息队列现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。消息队列提供了一种在两个不相关的进程之间传递数据的简单高效的方法。与有名管道比较起来,消息队列的优点在独立于发送与接收进程,这减少了在打开与关闭有名管道之间同步的困难。消息队列提供了一种由一个进程向另一个进程发送块数据的方法。另外,每一个数据块被看作有一个类型,而接收进程可以独立接收具有不同类型的数据块。消息队列 阅读全文
posted @ 2013-09-27 19:38 万载一梦 阅读(217) 评论(0) 推荐(0)
摘要: 一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见的是重新排序读写指令。对常规内存进行优化的时候,这些优化是透明的,而且效率很好。由编译器优化或者硬件重新排序引起的问题的解决办法是在从硬件(或 阅读全文
posted @ 2013-09-27 19:04 万载一梦 阅读(217) 评论(0) 推荐(0)
摘要: Qt提供了Socket的支持,它采用API形式的封装,使得程序员不需要接触底层的代码就可以对socket进行操作。1.UDP的实现UDP不是连接协议,没有客户端与服务端的概念。1)建立套接字相关对象1 QSocketDevice *MUReceiveSocket;//套接字对象2 3 QSocketNotifier *MSocketNotifier;//套接字监听对象2)初始化套接字相关对象 1 MUReceiveSocket = new QSocketDevice(QSocketDevice::Datagram); 2 3 //UDP初始化 4 5 QHostAddress ... 阅读全文
posted @ 2013-09-01 15:37 万载一梦 阅读(521) 评论(0) 推荐(0)
摘要: 1.结构体的用法typedef struct tagNode{ char *pItem; pNode pNext;}*pNode;当用上面的代码定义一个结构时,编译器报了一个错误,为什么呢?莫非C语言不允许在结构中包含指向它自己的指针吗?答案与分析 C语言当然允许在结构中包含指向它自己的指针,我们可以在建立链表等数据结构的实现上看到无数这样的例子,上述代码的根本问题在于typedef的应用。 根据我们上面的阐述可以知道:新结构建立的过程中遇到了pNext域的声明,类型是pNode,要知道pNode表示的是类型的新名字,那么在类型本身还没有建立完成的时候,这个类型的新名字也还不存在,也就... 阅读全文
posted @ 2013-08-23 17:12 万载一梦 阅读(248) 评论(0) 推荐(0)
摘要: 在/etc/profile里导入1 export PATH==$PATH:/home/jack/arm-linux-gcc/x-tools/arm-unknown-linux-gnueabi/bin配置参数1 ./configure CC=arm-linux-gcc CXX=arm-linux-g++ --host=arm-unknown-linux-gnueabi --prefix=/home/jack/Ekho_work/ekho CPPFLAGS=-I/home/jack/Ekho_work/ekho/include LDFLAGS=-L/home/jack/Ekho_work/ekho 阅读全文
posted @ 2013-08-23 14:58 万载一梦 阅读(7123) 评论(3) 推荐(0)