现在位置: 首页 > 自动控制 > 文章
uSockets主要数据结构: struct us_poll_t {     uv_poll_t uv_p;     LIBUS_SOCKET_DESCRIPTOR fd;//这个其实就是把平台摸平了的fd     unsigned char poll_type; };   /* Internal callback types are polls just like sockets */ struct us_internal_callback_t {     alignas(LIBUS_EXT_ALIGNMENT) struct us_poll_t p;     struct us...
阅读全文
  最近在学习websockets的库,cpp主要有三个,websocketpp/libwebsockets/uwebsockets.看了一下简单明了的就是uWebSockets了,但是这个代码写的确实有点抽象。。。不太像我的风格。websocketpp要boost,有点巨大,不想用,libwebsockets虽然是c的,但是它的samples写的太磋,不太想用。纠结来纠结去还是用uWebSockets了,网址:https://github.com/uNetworking/uWebSockets  uWebSockets依赖uSockets: https://github...
阅读全文
2019-12-31 12:08 工业·编程 ⁄ 共 3489字 暂无评论
书单均是个人看过或者业界认可的经典书籍,如果你有何好书推荐,可在此留言补充。本文也会不定期更新书单。 计算机及系统原理 · 《编码:隐匿在计算机软硬件背后的语言》 【美】Charles Petzold · 《深入理解计算机系统》【美】Randal E.Bryant · 《深入理解Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A. · 《Linux内核设计与实现》【美】Robert Love · 《深入理解Android内核设计思想》林学森 · 《Android系统源代...
阅读全文
美国作为互联网的发源地,技术根基深厚,技术维度广阔,不容小视。 自美国商务部工业与安全局(BIS)将华为及其70个关联企业列入美方“实体”黑名单以来,Micro-SD、WiFi、USB、JEDEC等国际行业标准组织迫于压力,相继禁止或暂停华为的合法成员资质,全球一片哗然。 美国针对华为的禁令,将对华为及其所在的信息科技行业造成多大的影响?这涉及到软件产品、硬件产品、制造、供应链、知识产权、贸易、法律、政治等多个方面,除了当...
阅读全文
2019-12-30 08:26 工业·编程 ⁄ 共 510字 暂无评论
Intel 4004 (1971) Intel 8008 (1972) Intel 8080 (1974) Intel 8085 (1976) Intel 8086 (1978) Intel 8088 (1979) Intel 80286 (1982) Intel i80386 (1985) Intel i80486 (1989) Intel Pentium (1993) Intel Pentium MMX (1997) Intel Pentium Pro (1995) Intel Pentium Ⅱ (1997) Intel Celeron (1998) Intel Xeon (1998) Intel Pentium Ⅲ (1...
阅读全文
2019-12-29 06:23 工业·编程 ⁄ 共 1347字 暂无评论
Libevent、libev、libuv三个网络库,都是c语言实现的异步事件库 libevent :名气最大,应用最广泛,历史悠久的跨平台事件库; libev :较libevent而言,设计更简练,性能更好,但对Windows支持不够好; libuv :开发node的过程中需要一个跨平台的事件库,他们首选了libev,但又要支持Windows,故重新封装了一套,linux下用libev实现,Windows下用IOCP实现; 功能 由epoll,kqueue,IOCP和事件端口支持的功能齐全的事件循环。 异...
阅读全文
2019-12-28 08:23 工业·编程 ⁄ 共 923字 暂无评论
C标准函数库   (C standard library,缩写:libc)。标准函数库通常会随附在编译器上。windows系统和Linux系统下都可以尽情使用。是最基本的C函数库,也叫ANSI C。   ANSI C共包括15个头文件。1995年,Normative Addendum 1 (NA1)批准了3个头文件(iso646.h、wchar.h和wctype.h)增加到C标准函数库中。C99标准增加了6个头文件(complex.h、fenv.h、inttypes.h、stdbool.h、stdint.h和tgmath.h)。C11标准中又新增...
阅读全文
看包含的头文件和使用的函数啊~两者包含的函数不一样~ 要是使用fopen/memcpy等等这样标准C的函数,当然会在链接时使用到标准C库(ANSI C).如果使用了read/write这些glibc库实现的函数,肯定就在链接时使用到glibc库~ 具体使用了什么库,要看调用的函数了~可能不会仅仅只包含一个库~
阅读全文
2019-12-26 18:43 工业·编程 ⁄ 共 5825字 暂无评论
一、STL中的内存管理 当我们new一个对象时,实际做了两件事情:(1)使用malloc申请了一块内存。(2)执行构造函数。在SGI中,这两步独立出了两个函数:allocate申请内存,construct调用构造函数。 这两个函数分别在<stl_alloc.h>和<stl_construct.h>中。 二、第一级配置器 第一级配置器以malloc(),free(),realloc()等C函数执行实际的内存配置、释放、重新配置等操作,并且能在内存需求不被满足的时候,调用一个...
阅读全文
2019-12-25 18:28 工业·编程 ⁄ 共 3534字 暂无评论
malloc/calloc/free是库函数,在底层使用系统调用进行内存申请,自己添加了中间层进行管理,brk,sbrk,mmap,munmap是系统调用。申请的是虚存。   mmap 映射匿名页, 当发生缺页异常时, linux 内核为缺页分配一个新物理页,并将该物理页清 0。   对空闲的小内存块只会在 malloc 和 free 的时候进行合并。   主分配区与非主分配区用环形链表进行管理。 每一个分配区利用互斥锁( mutex)使线程对于该分配区的访...
阅读全文