Linux 和 C 基础
Allen.Wu
大厂资深开发工程师,具备丰富的架构设计和系统研发经验;涉及 架构设计、微服务、基础组件、系统分析和调优、K8s 容器化、IM 架构;Golang、C/C++;
展开
-
linux代码段,数据段,BSS段, 堆,栈
linux代码段,数据段,BSS段, 堆,栈网上摘抄了一些,自己组织好了,以便参考 !!!! 进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数转载 2013-10-22 14:42:10 · 10240 阅读 · 0 评论 -
IPC之本地套接字
IPC之本地套接字 进程间通信,UNP2 这本经典的书籍讲的已经很清楚了,常见的进程间通信就是信号量 消息队列共享内存,其实本地套接字更是一种进程间通信的手段,而且起码要比信号量更加直观。本文描述下基本的利用本地套接字来进行进程通信。点击(此处)折叠或打开#define UNIX_PATH_MAX 108 struct sockaddr_un { s转载 2013-11-19 16:05:55 · 1114 阅读 · 0 评论 -
inline函数_内联函数的一些总结
inline函数_内联函数的一些总结 inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。表达式形式的宏定义一例:#define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形式呢,且听我道来:1.首先谈一下在C中使用这种形式宏定义的原因,C语言转载 2013-11-20 11:30:11 · 2269 阅读 · 0 评论 -
引用与指针的区别
引用与指针的区别在c++函数中,形式参数用引用和用指针都可以起到在被调用函数中改变调用函数的变量的作用。什么时候用引用作参数?什么时候用指针作参数呢void function (int *ptr); // 指针void function(int &ref); // 引用没有 特定的规定。。学的久了,就 会习惯什么时候用指针什么时候用引用了!引用与指针有什么区别转载 2013-11-09 11:05:17 · 1521 阅读 · 0 评论 -
回调函数
回调函数 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。回调函数使用是必要的,在我们想通过一个统一接口实现不同的内容,这时用回掉函数非常合适。比如,我们为几个不同的设备分别写了不同的显示函数:void TVshow(); void ComputerShow(); void NoteBookShow()... 等等。这是我们想用一个统一的显示转载 2013-11-09 11:17:29 · 778 阅读 · 0 评论 -
野指针
野指针 “野指针”不是NULL指针,是指向“垃圾”内存(不可用内存)的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。有个良好的编程习惯是避免“野指针”的唯一方法。 野指针的成因主要有三种:一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指转载 2013-11-09 11:43:37 · 929 阅读 · 0 评论 -
C语言中的字符数组与字符串
C语言中的字符数组与字符串 1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。charstr[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数转载 2013-11-11 10:25:15 · 1107 阅读 · 0 评论 -
指针与内存, 指针数组,常量指针类笔记
指针与内存, 指针数组,常量指针类笔记 1. char * str1;//str1 只是一个指针,指针指向的空间还没有分配,所以此时用strcpy向str1所指向的内存中拷贝内容将出错。利用malloc动态分配指向的内存(在堆中):str1=(char *)malloc(10) or str1=(char *)malloc(sizeof(char) * num)//分配num个转载 2013-11-11 10:21:25 · 1279 阅读 · 0 评论 -
字符编码:ASCII,Unicode和UTF-8
字符编码:ASCII,Unicode和UTF-81. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出 256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从 0000000到11111111。上个世转载 2014-09-15 22:00:28 · 889 阅读 · 0 评论