
c
adaptiver
是非审之于己毁誉听之于人得失安之于数所谓男儿要锐气藏于胸和气浮于脸才气见于事义气施于人如此方能成就大事
展开
-
.text、.data、.bss、sbss、scommon段
偶尔看到sbss段,不甚清楚,查了一下:.sbss是小的BSS段,用于存放“近”数据,即使用短指针(near)寻址的数据。有利于小的对象组合到单个可以直接寻址的区域。《程序员的自我修养--链接、装载与库》一书的3.3.4节说:“以前用过的一些名字如.sdata、.tdesc、原创 2011-09-05 11:34:36 · 13901 阅读 · 0 评论 -
阶乘
写了一个程序,ji#include #define N 100int main(int argc, char **argv){ int n; int i, j, m, b; int a[N] = {1}; if (2 != argc) { printf(转载 2014-07-21 17:25:31 · 811 阅读 · 0 评论 -
Android下使用C语言的四种编译方式
http://blog.youkuaiyun.com/cl11010/article/details/8459981一、编写helloworld.c Android.mk[cpp] view plaincopy#include int main() { printf("Hello World!\n");转载 2014-07-26 11:56:27 · 3205 阅读 · 1 评论 -
__builtin_return_address/_RET_IP_/_THIS_IP_
GCC内建函数 __builtin_return_addresshttp://www.360doc.com/content/12/0828/17/9336047_232846513.shtml内建函数 __builtin_return_address返回当前函数或其调用者的返回地址,参数LEVEL指定在栈上搜索框架的个数,0 表示当前函数的返回地址,1表示当前函数的调用者的返回地址,依转载 2013-05-31 16:15:02 · 6101 阅读 · 0 评论 -
double free/free invalid pointer
p=(char *)malloc(sizeof(char)); printf("p=0x%08x", p); sleep(2); free(p + 1);*** glibc detected *** ./test_free2: free(): invalid pointer: 0x00098fa1 ***======= Ba原创 2014-08-08 14:33:04 · 4606 阅读 · 0 评论 -
内存碎片(Memory Fragmentation)
http://blog.youkuaiyun.com/dean_yanqing/article/details/6663775转载 2014-10-24 16:09:54 · 2746 阅读 · 0 评论 -
关于 strcpy 和 strncpy
http://blog.sina.com.cn/s/blog_6a22365901012bkl.htmlstrcpy ,strncpy ,strlcpy地用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。1. strcpy我们知道,strcpy 是依据 \0 作为结束判断的,如果 to 的空间转载 2013-06-13 10:11:10 · 857 阅读 · 0 评论 -
结构体初始化
今天同事聊到内核中结构体初始化,对结构体struct a {int b;int c;}有几种初始化方式:struct a a1 = { .b = 1, .c = 2};或者struct a a1 = { b:1, c:2}或者struct a a1 = { 1, 2};内核喜欢用第一种,使用第一种和第二种时,成员初始化顺序可变转载 2012-04-24 15:45:03 · 169235 阅读 · 9 评论 -
异或^ 的几个作用
http://www.cnblogs.com/danh/archive/2010/12/24/1915810.html一、翻转某些位当一个位与‘1’作异或运算时结果就为此位翻转后的值。如下例:a=0x35; //a=0b00110101a=a^0x0f; //a=0b00111010 a的低四位翻转二、交换两个整数的值而不必用第三个参数a = 9;b = 11;转载 2012-07-24 12:58:17 · 1260 阅读 · 0 评论 -
零长度数组
注意一下零长度数组http://blog.youkuaiyun.com/brucexu1978/article/details/7473082在某一结构末尾如定义类似 char bytes[0]的零长数组,表示该结构不定长,可通过数组的方式进行扩展。结构中必包含一个长度信息。结构本身类似于一个信息头。同时,此结构只能通过堆方式分配内存。转载 2013-01-09 12:58:43 · 815 阅读 · 0 评论 -
C/C++的一些预定义宏
__FILE__:当前源代码文件名的字符串文字 __LINE__:当前源代码中的行号的整数常量 __DATE__:进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __TIME__:源文件编译时间,格式微“hh:mm:ss” __func__:当前所在函数名,在C++中为__FUNCTION__C++的测试代码如下(g++),其中VC中不支持__func__ :转载 2011-08-19 15:51:12 · 1083 阅读 · 0 评论 -
内核中判断返回指针是否错误的方法:使用IS_ERR或者IS_ERR_OR_NULL
内核中判断返回指针是否错误的方法:使用IS_ERR或者IS_ERR_OR_NULL。参考include/linux/err.h#define MAX_ERRNO 4095 #ifndef __ASSEMBLY__ #define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO) static in转载 2013-03-11 17:39:49 · 7481 阅读 · 0 评论 -
Linux内核文档之rbtree.txt
http://blog.sina.com.cn/s/blog_7be8a2150100twof.htmlred-black树是什么样的树,为什么需要red-black树?------------------------------------------------red-black tree(RB树)是一种平衡二叉树,它主要用于存储或者说索引可排序的键值对数据。RB树(红黑树)与转载 2013-03-15 17:51:17 · 828 阅读 · 0 评论 -
size_t
http://blog.youkuaiyun.com/beckyqiumo/article/details/6610767$ man 2 writeWRITE(2) NAMEwrite - write to a file descriptor 描述符SYNOPSIS#include ssize_t write(int fd, const void *buf, s转载 2013-03-18 10:05:25 · 1072 阅读 · 0 评论 -
频繁分配释放内存导致的性能问题的分析
http://blog.youkuaiyun.com/baiduforum/article/details/6126337现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于1转载 2014-10-22 18:47:27 · 2042 阅读 · 0 评论