自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

转载 Segmentation fault到底是何方妖孽

前两天和阿彬扯淡的时候(注意不是扯蛋),他说自己一个礼拜解决了三个Core dump,华丽丽之极,让我对其敬仰、膜拜之情如滔滔之江水,绵绵不绝。今天我也来谈一下Linux环境下开发时经常遇到的“Segmetation fault”的一点点个人看法,也算是抛砖引玉了。   (备注:我的glibc版本是2.12,GCC版本4.4.6,内核版本2.6.32-279)   Linux上开发时最恼火

2016-05-31 23:21:08 1077

转载 浅析container_of(ptr, type, member)

问题:如何通过结构中的某个变量获取结构本身的指针???Linux内核链表:#define list_entry(ptr, type, member) \container_of(ptr, type, member)关于container_of见kernel.h中:/*** container_of - cast a member of a structure out

2016-05-30 11:15:32 403

转载 Ubuntu下查看Printk的输出

由于Linux内核的级别控制,导致printk打印的内容不一定都能从控制台正常输出,可以使用dmesg命令来输出所有级别的信息。输入: sudo dmesg –n 8 可以把所有日志信息输出来Linux命令:dmesg 功能说明:显示开机信息。语 法:dmesg [-cn][-s ]补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用

2016-05-26 00:42:59 2856

转载 linux内核模块的安全

linux可以动态的加载内核模块,在很多场合可能需要确保加载内核的安全性。如果被攻击者加载恶意内核模块,将会使得内核变得极其危险。   当然,稳妥的做法就是给内核模块进行签名,内核只加载能正确验证的签名。这是最首先想到的方法,当然,这个方法并不是很简单,你需要选用一套公钥加密方法,一般就是rsa算法了。难点是要在内核中进行验证模块的签名,这需要修改内核中的一些对应的地方。明显在load_m

2016-05-25 15:32:45 1950

转载 更改Ubuntu gcc、g++默认编译器版本

升级Ubuntu到11.10,但在编译Android的时候出错了。这个Android在升级系统之前编译是没有错误的,对比发现升级到Ubuntu 11.10后gcc、g++的版本都是4.6.1。而升级之前的版本是4.4.6。我想多半原因就在这里了。要想解决问题需要更改Ubuntu gcc、g++默认编译器版本。google一把发现有两种方法可以更改。方法一:首先,看一下你的Ubuntu都

2016-05-25 14:42:44 1736

转载 ubuntu12.04 insmod&rmmod出现Error:Device or resource busy

一:insmod时候错误:1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy2:原因:你的代码里面的设备号和系统已经存在的相冲突3:查看系统的设备号:cat /proc/devices cat /proc/devices  查看和你的设备号有冲突的吗,注意要分开字符设备和块设备4

2016-05-25 14:18:49 1527

转载 static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别

C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序:#include using namespace std; int m

2016-05-12 10:33:28 280

原创 error: lvalue required as unary ‘&’ operand

源码:printf("Now time is:%s\n",asctime(gmtime(&time(NULL))));提示错误:error: lvalue required as unary ‘&’ operand原因分析:time(NULL)返回的是一个long型,为什么会出现这个错误,如果你深入汇编里,可以看到函数返回值一般存储在eax寄存器里,如果你写了这样的语句

2016-05-09 17:16:38 16844

转载 getchar的用法

getchar函数名: getchar功 能: 从stdin流中读字符用 法: int getchar(void);注解:  getchar有一个int型的返回值,当程序调用getchar时程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符getchar函数

2016-05-09 15:13:29 2789

转载 Linux基础知识

1、linux分区 --在linux里面所有的设备、任何东西,在linux看来都是文件。 --文件在它看来,有两种形式:   第一种是字符型(键盘输入、打印机);   第二种是二进制型(硬盘、光驱、U盘) --linux中所有硬件 --手动分区 --A、至少有两个分区   /    根分区   SWAP 交换分区(物理内存大小的两倍) --B、个人桌面分区 

2016-05-09 12:34:19 251

转载 Ubuntu的复制粘贴操作及常用快捷键

Ubuntu的复制粘贴操作  1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结束了。2.快捷键。一般通用的是Ctrl+C与Ctrl+V。不过通用也是有限制的,一般的程序下是没有问题,遇到终端就不行了。其实终端下默认的是 Ctrl+Shift+C,Ctrl+Shift+V,可以自己在编辑项下面自己设置为常用的。3.文件

2016-05-09 12:31:42 91817 3

转载 Linux文件权限详解

文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和

2016-05-08 14:55:32 225

转载 Linux man手册使用指南

使用Linux下man已经很久了。但只是大概知道其内容的存放目录,以及man number xxx中mumber的含义。今天需要添加C++ man page。顺便将man的内容作一个较详细的了解。0. man后面数字的含义:之前Sam在查找C库函数时,会使用#man 3 func在查找系统调用时,则使用#man 2 fork.否则有时会出现查到同名的shell中命令

2016-05-08 14:11:21 266

转载 linux 下c 编译和调试

在linux下编写和调试c程序的环境搭建:需要安装gcc编译器和gdb调试器。其中gcc编译器只能用rpm包或者用linux的安装盘里的gcc安装文件安装。查看是否安装gcc可用gcc -v来显示相关gcc信息,如显示如下内容:则说明你的linux安装了gcc 同样用gdb -v来检测是否安装gdb 如果显示说明你已经安装好了gdb具体安装过程略..

2016-05-06 10:35:15 3716

转载 bzero 和memset的区别

bzero  原型:extern void bzero(void *s, int n);  用法:#include   功能:置字节字符串s的前n个字节为零且包括‘\0’。  说明:bzero无返回值,并且使用strings.h头文件,strings.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在P

2016-05-05 22:28:39 1068 1

ADBMS1818驱动程序

ADBMS1818驱动程序

2022-04-15

飞思卡尔芯片MC9S12XS128的BootLoader设计.pdf

详细介绍了飞思卡尔16位单片机MC9S12XS128实现 bootloader 的方法原理以及实现过程,包括主要核心代码讲解。

2020-04-13

LTC6804菊花链方式驱动代码.zip

BMS电池采集AFE芯片LTC6804菊花链通讯方式驱动代码(LTC6804.cpp,LTC6804.h),也适用于LTC6811芯片

2020-04-13

exynos4412-uboot移植笔记

基于exynos4412的uboot移植笔记

2016-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除