随笔分类 - 【C语言】
摘要:转自:http://blog.chinaunix.net/uid-30254565-id-5637597.html 内核中container_of宏的详细分析 16年2月28日09:00:37 内核中有一个大名鼎鼎的宏 container_of();这个宏定义如下所示,为了表示一下敬意,我就把注释一
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析 list.h头文件分析(一) 16年2月27日17:13:14 在学习数据结构时,有一个重要的知识点就是链表。对于链表的一些基本操作,它的最好学习资料就是
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-30254565-id-5637598.html linux内核中链表代码分析 list.h头文件分析(二) 16年2月28日16:59:55 分析完container_of()宏以后,继续分析list.h文件: (1)list_en
阅读全文
摘要:有一天我编译内核模块驱动的时候发现如下错误 Linux kernel版本:4.1.15 error: negative width in bit-field '<anonymous>' 代码如下: static struct device_attribute sysfs_keypad_list[]
阅读全文
摘要:转自:http://www.cnblogs.com/hazir/p/static_assert_macro.html 本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章
阅读全文
摘要:转自:https://www.cnblogs.com/Commence/p/5785912.html 很多学过C的人对malloc都不是很了解,知道使用malloc要加头文件,知道malloc是分配一块连续的内存,知道和free函数是一起用的。但是但是: 一部分人还是将:malloc当作系统所提供的
阅读全文
摘要:转自:https://blog.csdn.net/david_xtd/article/details/7311204 名称 malloc,free,calloc,realloc--分配和释放动态内存 概要 #include <stdlib.h> void *malloc(size_tsize); v
阅读全文
摘要:转自:https://blog.csdn.net/hailongchang/article/details/1609720
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-30339363-id-5116170.html 原文地址: Linux下函数调用堆栈帧的详细解释 作者:cssjtuer 原文地址: Linux下函数调用堆栈帧的详细解释 作者:cssjtuer http://www.ibm.com
阅读全文
摘要:转自:https://www.cnblogs.com/troublelost/p/5236391.html 首先结果是: public bool IsPowerOfTwo(int n) { if(n<1) return false;//2的次幂一定大于0 return ((n & (n -1)) =
阅读全文
摘要:转自:http://www.cnblogs.com/guochaoxxl/p/6970090.html 概述 内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的、复杂的应用程序中,内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但
阅读全文
摘要:转自:https://www.cnblogs.com/ransn/p/5081198.html 转载地址 : http://blog.csdn.net/21aspnet/article/details/6729724 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数
阅读全文
摘要:转自:http://www.cnblogs.com/jiayy/p/3475544.html 偶然中发现,下面的两端代码表现不一样 void main(){ void* p1 = malloc(32); free(p1); free(p1); // 这里会报double free 错误,程序退出 }
阅读全文
摘要:转自:http://www.cnblogs.com/hazir/p/linxu_core_dump.html 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump
阅读全文
摘要:转自:https://blog.csdn.net/killmice/article/details/38443343#comments 定位多线程内存越界问题实践总结 2013/2/4 杨志丰 yangzhifeng83@gmail.com 关键字 多线程,内存越界,valgrind,electri
阅读全文
摘要:转自:https://blog.csdn.net/starstarstone/article/details/7493144?utm_source=tuicool&utm_medium=referral visibility用于设置动态链接库中函数的可见性,将变量或函数设置为hidden,则该符号仅
阅读全文
摘要:转自:http://www.cnblogs.com/chenglei/archive/2009/08/06/1540702.html 从main.c中的printf开始读这个函数。 首先看printf函数的定义: 1 static int printf(const char *fmt, ...) 2
阅读全文
摘要:转自:http://www.cnblogs.com/embedded-tzp/p/4451354.html 欢迎转载,转载时需保留作者信息,谢谢。 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:htt
阅读全文
摘要:转自:https://blog.csdn.net/yunsongice/article/details/5538020 GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__是用来设置函数属性(Function Attribute)、变量属性(Vari
阅读全文
摘要:转自:https://www.cnblogs.com/Anker/p/3746802.html 1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用
阅读全文