C/C++
文章平均质量分 80
石膏灰
这个作者很懒,什么都没留下…
展开
-
static的作用
static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。转载 2011-09-13 18:06:48 · 967 阅读 · 1 评论 -
brk和sbrk工作原理
sbrk/brk: brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的: 每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在转载 2012-02-14 12:13:29 · 2918 阅读 · 0 评论 -
你不得不熟悉的字符串处理函数
常见字符串处理函数的实现1、C语言库函数中有两个函数实现数字和字符串之间的相互转换:将数字转换成字符串的函数itoa();将字符串转换为数字的函数atoi(),下面是这两个函数的内部实现:#include#include#include using namespace std;//字符串转换为数字int My_atoi(char str[]){ int原创 2011-09-15 18:10:00 · 1382 阅读 · 1 评论 -
exit函数
#include void exit(int status);exit库函数将终止当前进程,并返回操作系统。status表示进程的退出码,在stdlib.h头文件中定义了两个宏:#define EXIT_SUCCESS 0#define EXIT_FAILURE 1#include void _exit(int status);exit函数与_exit函数的区别转载 2011-11-17 09:57:46 · 2872 阅读 · 2 评论 -
C++常见笔试题汇编
C++笔试题汇编【内存中的字节对齐】CPU的优化规则是这样的:对于n(n=2,4,8…)字节的元素,它的首地址能被n整除,才能获得最好的性能。数据对齐,是指数据所在的内存地址必须是该数据长度的整数倍。比如DWORD数据的内存起始地址能被4除尽,WORD数据的内存起原创 2011-09-13 18:57:02 · 866 阅读 · 0 评论 -
虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用基类类型的指针指向派生类对象,然后通过基类指针调用实际派生类的成员函数。这种技术可以让基类指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模转载 2011-09-13 18:20:38 · 605 阅读 · 0 评论 -
C/C++的内存管理
内存管理1、程序在内存中的分布 在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存和虚拟内存。从硬件上讲,虚拟空间是CPU内部的寻址空间,位于MMU之前,物理空间是总线上的寻址空间,是经过MMU转换之后的空间。一般我们所说的程序在内存中转载 2011-09-19 22:30:26 · 912 阅读 · 0 评论