现在位置: 首页 > 自动控制 > 工业·编程 > 文章
系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境,但是计算机系统的各种硬件资源是有限的,因此为了保证每一个进程都能安全的执行。处理器设有两种模式:“用户模式”与“内核模式”。一些容易发生安全问题的操作都被限制在只有内核模式下才可以执行,例如I/O操作,修改基址寄存器内容等。而连接用户模式和内核模式的接口称之为系统调用。 应用程序代码运行在用户模式下,当应用程序需要实现内核模...
阅读全文
在使用内存映射操作文件之前,我们先按照常规的方式来读写文件,这种方式操作如下: 1,打开或创建文件,得到文件描述符, 2,将内存中的数据以一定的格式和顺序写入文件,或者将文件中的数据以一定的格式和顺序读入到内存; 3,关闭文件描述符; 下边是按照常规方式操作固定格式的文件的方法,包含读写两个示例; #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <fcntl.h> #inclu...
阅读全文
2019-07-04 07:41 工业·编程 ⁄ 共 3204字 暂无评论
内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间<---->用户空间两者之间需要大量数据传输等操作的话效率是非常高的。 以下是一个把普遍文件映射到用户空间的内存区域的示意图。 基本函数   mmap函数是unix/linux下的系统调用,详细内容可参考《Unix Netword pro...
阅读全文
1、PPP:(PPP:Point to Point Protocol)     点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包...
阅读全文
2019-07-02 06:41 工业·编程 ⁄ 共 4386字 暂无评论
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 实现机制: ⑴定义一个回调函数; ⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者; ⑶当特定的事件或条件发生的时候...
阅读全文
2019-07-01 06:28 工业·编程 ⁄ 共 5116字 暂无评论
网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。 通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。 网络通信中最重要的就是网络通信协议。当今网络协议有很多,局域网中最常用的有三个网络协议:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP协议。应根据...
阅读全文
2019-06-30 11:28 工业·编程 ⁄ 共 2672字 暂无评论
对于诸多业界开发者而言,对实时通信其实也并不陌生,毕竟从腾讯 QQ 音视频,到风靡国内的狼人杀、大吉大利的吃鸡游戏、线上抓娃娃、直播答题、线上 KTV,再到如今的微信小程序音视频等,其背后都离不开实时音视频的解决方案,更离不开 WebRTC 技术的支持。 对此,我们不禁产生疑问,WebRTC 究竟有何技术优势可以征服各种应用程序?当前 WebRTC 的发展又处于一个什么样的阶段?它是否有可能在未来实现浏览器、移动端的全面覆盖...
阅读全文
2019-06-29 06:13 工业·编程 ⁄ 共 5111字 暂无评论
1.ACE: ACE提供了一组丰富的可重用C++包装外观(WrapperFacade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步等等。ACE简化了使用进程间通信、事件多路分离、显式动态链接和并发的面向对象的网络应用和服务的开发。 ACE架构图如图1-1所示: ACE的优点主要有: (1).增...
阅读全文
2019-06-28 19:25 工业·编程 ⁄ 共 3236字 暂无评论
1.SQL访问数据库非常方便,只需简单的三个函数: sqlite3_open(char* szDbFileName, sqlite3 ** db) sqlite3_exec(sqlite3 *db, char* szSqlCMD, callback, 0, char **zErrMsg) sqlite3_close(sqlite3 *db) static int callback(void *NotUsed, int argc, char **argv, char **azColName) 2.sqlite3_exec(),执行SQL命令: int sqlite3_exec(       sqlite3* db,     /* An ope...
阅读全文
2019-06-27 15:56 工业·编程 ⁄ 共 23597字 暂无评论
/****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite ** version 3.14.1.  By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit.  This allows many compilers to do optimizations that would not be **...
阅读全文