2013年12.2本周计划(内存映射,管道的创建,strcpy的使用,linux中库的封装,EXCEL数据的拟合)

原创 2013年12月10日 15:23:17

作为一个连菜鸟都不算的新手,还不能根据一个标题来展示自己与众不同的想法,目前只能根据我的工作进度来记录下我的工作历程,我相信等到了一定时间,我一定可以写出自己的想法和见解。

本周计划:

1.详细学习进程间的通信,完成WEB与后台程序的交互

2.完成PPD42NS传感器与Dylos的数据匹配,写出一套匹配方案

对于任务1:

需要用到的有:管道通信和共享内存。
对于管道通信,分为有名管道和无名管道,无名管道即没有ID之类的,不能用在两个不相干的进程之间;有名管道(FIFO),有一个名称来标志它,实际上就是一个文件的路径,这个路径对应的就是磁盘上的一个管道文件。
整体的框架搭建好了,将以前的配置文件类封装成了库,后面的人要使用的话只要加入库和头文件即可,具体的稍后再写。

对于共享内存分为两个来做:一个使用mmap来创建文件映射,方便保存得到的文件,系统关闭时不至于数据丢失;另一个就用shmget来创建共享内存,因为数据不需要保存,属于临时数据。
在用mmap函数的过程中难免遇到拷贝数据到内存,我用的是strcpy这个函数,但是老师出错,不知道问题出现在哪里了,我反复的修改read和write函数,设置lseek函数,还是得不到想要的结果,最后没有办法自己写了个小程序:用strcpy拷贝一个字符串,然后写到文件(该文件设置为追加写)中,再存文件中读,但是就是读不到所有文件,只能读到strcpy的那段字符串,但是程序却告诉我读到了所有字节,很是费解啊,终于灵光一现是不是strcpy出现问题,于是将strcpy换成strncpy,终于成功了,后来百度了这两个函数:http://blog.chinaunix.net/uid-20641464-id-1595699.html

对于任务2:

这个是这星期的主要任务,完成PPD42NS和DYLOS1700的数据匹配。

使用EXCEL对数据做了处理,直接得到了拟合函数,可选方案有三:对数拟合、二次多项式拟合、幂函数拟合,得到拟合函数后,编写了程序,分别得到了1000到10000,每1000递加对应的值;这三个中任然不能确定用哪个比较好,还得多册几天的数据

相关文章推荐

Win32汇编使用内存映射文件在进程间共享数据

在Windows程序中,各个进程之间为了协同工作,常常需要交换数据,进行数据通讯。Windows 下有很多方法实现进程间通讯,比如用 socket,管道(Pipe),信箱(Mailslot),等等。但...

如何创建内存映射文件,并对其进行写入与读取数据

本文介绍如何使用CreateFileMapping,MapViewOfFile创建内存映射文件,向内存映射文件中写入数据,读取数据。 #include #include #include ...

linux kernel内存映射实例分析

  • 2012年11月04日 20:02
  • 551KB
  • 下载

linux mmap文件内存映射机制

  • 2011年10月16日 16:30
  • 71KB
  • 下载

使用内存映射文件在进程间共享数据

Windows提供了多种机制允许进程之间能够共享数据。比如,WM_COPYDATA消息,剪贴板,邮件槽(mailslot),管道(pipe),套接字(socket)等。在同一台机器上共享数据库最底层的...
  • lihao21
  • lihao21
  • 2014年08月08日 11:15
  • 2735

Linux之V4L2基础编程-内存映射

  • 2017年11月14日 13:52
  • 195KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2013年12.2本周计划(内存映射,管道的创建,strcpy的使用,linux中库的封装,EXCEL数据的拟合)
举报原因:
原因补充:

(最多只允许输入30个字)