命名管道是一种常用的进程间通信手段,它可以单向也可以双工,用于管道服务器与一个或多个管道客户端之间的通信。Windows命名管道提供了两种基本通信模式,字节模式和消息模式。使用中,二者并无本职区别,更多还是由程序员自己选择和控制。在字节模式中,数据以一个连续的字节流的形式在客户机和服务器之间流动。而在消息模式中,客户机和服务器则通过一系列不连续的数据单位进行数据的收发,每次在管道上发出一条消息后,
DBus是原产于Linux的一种跨平台的高级的进程间通信机制。DBus的主要概念为总线,注册后的进程可通过总线接收或传递消息。DBus是低延迟而且低开销的,设计得小而高效,以便最小化传送的往返时间。DBus协议是二进制的,而不是文本的,因而效率也得到了保证。1.DBus总线分类DBus总线分为系统总线(systembus)和用户会话总线(sessionbus)。系统总线在引导时就会启动,是持久的,
Linux内核物理内存查看工具。
C语言的main函数到底是不是我们代码里面第一个被运行的函数,但事实上,可以有函数比main函数先运行,不同编译器可能有着不通的实现方式。以GCC编译器为例,我们看下面的代码:#include <stdio.h>static void __attribute__((constructor)) start(void){ printf("start\n");}static void __
PE文件(Portable File)是Windows平台portable File Format(可移植文件)的简写。常见的PE文件有:exe,sys,dll等。了解PE文件格式有助于加深对操作系统的理解,掌握可执行文件的数据结构机器运行机制,对于逆向破解,加壳等安全方面方面的同学极其重要
在Linux平台,几乎所有工程都是基于Makefile进行编译的,在小型项目中,你可以手写Makefile,但是大型工程,手写Makefile处理起来很复杂,因此就需要使用automake进行构建工程
C++、java、C#、Python、Php等语言均支持OOP,但是有很多规则,他们却不尽相同,本文重点总结一下几种语言在OOP中的共性与特性,只要把这些点区分开,其实几种语言的代码你就都可以运用自如。
宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。
在众多编程语言中,C++语法规则是相对较为复杂的,其继承和重载规则灵活多变,往往会让初学这苦恼不堪,下面对于C++的一些易错点进行的总结,希望有所帮助,本文章会持续更新。
C语言程序是编译后的二进制程序,其对目标操作系统依赖性非常强,如:Linux程序无法在Windows系统上直接运行,反之亦然,再如:64位程序无法允许在32位系统。对于C语言程序的内存存储空间的布局,还是需要了解一下的。
最近做项目需要基于C语言实现一个获取两个日期之间共有多少天的函数,通过搜索一些资料,实现了int GetInternalDays(Date date1, Date date2)接口,该接口实现了data1和date2直间相差的天数。
最近崩溃问题较多,把这段时间常用的调试技巧总结一下,分享给大家,希望能对大家有所帮助。
位域又叫位结构,位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便,位域多用于结构体中,在操作系统底层代码使用较多。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号