简单的项目案例Day8

                          Day8   简单项目案例

1.如何找到共享内存首地址?

(1)寻找key值,同行双方识别key值,通过ftok函数获得。

(2)通过key找到对应的IPC对象(共享内存),通过shmget函数获得ID号。

(3)在进程的应用空间中映射内核IPC对象的地址(该进程的用户空间地址),用shmat函数获得。

(4)把应用空间的地址转化为共享双方约定的数据结构进行填充和读取。

2. 共享内存操作案例?

(1)命令行查看几个函数内容及用法:

简单的项目案例Day8

 

(2)编写代码:

简单的项目案例Day8

简单的项目案例Day8

(3)运行结果:

简单的项目案例Day8

 

3. CGI温度采集代码实现。

(1)编译以下代码:

A.首先引入cJSON.c、cJSON.h文件,相应网站下载。

B.编写task.h头文件:

简单的项目案例Day8

 

C.task.c文件:

简单的项目案例Day8

 

D.temp_cgi.c文件:

简单的项目案例Day8

简单的项目案例Day8

简单的项目案例Day8

 

 

 

E.sim_catch.c文件:

 

简单的项目案例Day8

简单的项目案例Day8

 

(2)在Linux中编译遇到gcc -o sim_catch、gcc:没有输入文件的错误:

 简单的项目案例Day8

遇到这个问题,可以去Makefile中查看以下几部分代码是否正确:    

简单的项目案例Day8

(3)运行结果:

简单的项目案例Day8