自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 main()函数传递整数型参数的方法

void main(int argc, char **argv){ .......}argc:传递参数总个数,包括可执行文件名argv[0]:可执行文件名argv[1]:第一个参数,...以此类推argv[]中保存的参数是char型字符串,将字符串转为整型数字(如 argv[1] = "1",转换成整型 1)的做法是:(1)包含头文件:#include &lt...

2019-12-10 15:00:24 4168

原创 指针数组与数组指针

指针数组:是一个数组,数组元素为指针类型。定义为: int *array[100]; //定义了一个数组元素数为100数组,每个元素是指针类型数组指针:是一个指针,该指针指向的是一个数组,定义为: int (*array)[100]; //定义了一个指向数组的指针,该数组的元素数为100...

2019-11-29 10:41:42 201

原创 sizeof(指针、数组、字符串)大小

#include <stdio.h>int main(void){ int a, b, c, d, d2, e, f, g; char str[100]; int arry[100]; char *string="abc"; int *p = malloc(100); char *p2 ...

2019-11-29 10:32:55 3174

转载 内存映射:mmap与ioremap

  对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。  1.不管是在用户空间还是在内核...

2019-09-21 14:58:57 1029

原创 C程序中,删除文件指定字符、空格、逗号、换行符、Tab键等方法

int main(int argc, char **argv){ ... /*system中不支持使用格式符%s,%d等,因此使用sprintf()先使用格式符转换,再将转换后的字符串存放在buffer中*/ snprintf(buffer, sizeof(buffer), "cat '%s' | tr -d '\r''\n' > temp_logo.txt",ar...

2019-09-07 18:18:55 1542

原创 在内核中读文件大小的方法

方法一:使用struct kstat结构体和vfs_stat()函数,使用方法和功能类似于应用态的struct stat和stat()函数。举例:读取文件 struct kstat stat; char *file_path = "/text.txt"; int file_size = 0; ret = vfs_stat(file_path, &stat);...

2019-09-07 18:13:38 2470

原创 编译出错,出现 vfs_read[******.ko] undefined !

出现类似问题的原因是锁使用的函数无符号导出,本例是因为linux-4.0以后的版本取消了vfs_read()的符号导出EXPORT_SYMBOL(vfs_read)解决办法:(1)使用fp->f_op->read()函数,但是使用这个,虽然可以编译通过,但是在加载时,fp->f_op->read的返回值是NULL,原因未找到;(2)使用修改内核(不建议,会污染内核):...

2019-09-07 18:12:06 5988

原创 从txt文件中读数字字符串,将其转换为对应的整数,并写到二进制文件中

假设test.txt文件有以下内容:0x00,0x12,0x00,0x00,0xc2,0x00,0x00,0xff,0x22,0x00,0xee,0x00,0x00,0x1d,0x00,0x00,0x12,0x00,0xcd,0x12,0x00,0x00,0x12,0x00,0x45,0xde,0x00,0x00,0xff,0x00,0x00,0x12,0x00,0x00,0xff,0x0...

2019-09-07 18:09:35 2496

原创 简单的摄像头自写驱动程序总结

框架:USB总线驱动程序的作用1.识别USB设备1.1分配地址1.2并告诉USB设备(setaddress)1.3发出命令获取描述符2.查找并安装对应的设备驱动程序3.提供USB读写函数usb总线驱动程序在我们接入USB设备的时候会帮我们构造一个新的usb_device.注册到总线里面来。    本驱动程序总共需要构造1个usb驱动结构体:usb_driver  /*用于操作接入的USB设备*/2...

2018-06-27 16:35:00 3021

转载 insmod: error inserting 'vivi.ko': -1 Unknown symbol in module 问题解决办法

加载驱动时遇到:insmod: error inserting 'vivi.ko': -1 Unknown symbol in module的问题,在网上查了下,解决办法如下:1、用modinfo  ./vivi.ko | grep depend   找模块的依赖,结果如下depends:        videodev,videobuf-vmalloc,videobuf-core,v4l2-co...

2018-05-15 15:10:41 1935

转载 C/C++基础知识:typedef用法小结

第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可...

2018-04-17 10:09:09 181

转载 void 与void*

void关键字的使用规则:             1. 如果函数没有返回值,那么应声明为void类型;             2. 如果函数无参数,那么应声明其参数为void;             3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ;              4. void不能代表一个真实的变量;void体现了一种抽象,这个世界上的变量都是“有类型”...

2018-04-17 09:34:06 294

空空如也

空空如也

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

TA关注的人

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