Linux AIO
摘要:libaio Linux从2.6的kernel开始提供aoi,系统调用的直接使用是通过汇编,使用int中断指令或者专用的syscall指令,但是gnu的glibc没有提供aoi系统调用的c语言调用封装,oracle提供了一个简单封装libaio。 主要有5个调用配合使用。 int io_setup(
阅读全文
posted @
2019-03-04 19:03
还好可以改名字
阅读(668)
推荐(0)
关于文件和socket读写的系统调用和库函数的一些小问题
摘要:stdio中fopen二进制打开和文本打开的区别 因为都是读取的byte by byte,区别在哪里?唯一的区别就是windows VC,文本rw模式对于/r/n的处理。 而unix like上和二进制没有区别。 所以为了简单还是二进制读取比较好,然后针对场景分别处理。 open在syscall层面
阅读全文
posted @
2019-03-04 18:58
还好可以改名字
阅读(417)
推荐(0)
Chrome 扩展crx开发
摘要:Chrome扩展提供的入口 + 左键 crx,popup + 右键 crx,homelink + option + 右键上下文菜单 Chrome扩展的文件结构 Chrome扩展就是一个文件夹下包括一堆符合规范的文件。首先是清单文件 ,指定了该扩展的整体布局和结构。实例: { // 清单文件的版本,这
阅读全文
posted @
2018-06-08 11:18
还好可以改名字
阅读(3354)
推荐(0)
Linux程序执行前发生了什么——程序员的自我修养
摘要:程序的加载和链接是内核完成的吗 知道Linux有fork和exec系统调用,可以创建新进程和执行可执行的文件,fork就是内核自己数据结构的维护,可以理解,那么exec指定一个文件之后,怎么加载文件和动态链接? Interpreter 内核在执行ELF文件的时候,把执行文件映射到用户空间内存 在EL
阅读全文
posted @
2018-04-24 23:22
还好可以改名字
阅读(383)
推荐(0)
指针,引用和传参——程序员的自我修养
摘要:指针是C语言中就有的,引用在Cpp中才有的特性。 一,指针int* a 这个语句的含义是分配空间。1,分配多大的空间?指针就是为了保存地址的,所以分配的空间大小是一个word(以32bitCPU为例,那么就是4个Byte)。不论指针指向的类型,指针都是保存的一个地址,double* a, Struc
阅读全文
posted @
2018-04-12 22:08
还好可以改名字
阅读(385)
推荐(0)