linux开发笔记(迅为)
文章平均质量分 63
linux开发笔记
温人之周.
这个作者很懒,什么都没留下…
展开
-
linux静态库与动态库
库是一种可执行的二进制文件,是编译好的代码。使用库可以提高开发效率。在Linux 下有静态库和动态库。静态库在程序编译的时候会被链接到目标代码里面。所以程序在运行的时候不再需要静态库了。因此编译出来的体积就比较大。以 lib 开头,以.a 结尾。使用 ar 命令创建静态库。动态库(动态库也叫共享库)在程序编译的时候不会被链接到目标代码里面,而是在程序运行的时候被载入的。所以程序在运行的时候需要动态库了。因此编译出来的体积就比较小。以lib 开头,以.so结尾。使用 gcc 命令创建动态库。原创 2023-10-17 19:19:43 · 746 阅读 · 0 评论 -
Linux 下I/O操作
文件 IO 是直接调用内核提供的系统调用函数,头文件是 unistd.h,标准IO 是间接调用系统调用函数,头文件是 stdio.h,文件 IO 是依赖于 Linux 操作系统的,标准 IO 是不依赖操作系统的,所以在任何的操作系统下,使用标准 IO,也就是 C 库函数操作文件的方法都是相同的。文件 IO 是 Linux 系统提供的接口,针对文件和磁盘进行操作,不带缓存机制;标准IO是C 语言函数库里的标准 I/O 模型,在 stdio.h 中定义,通过缓冲区操作文件,带缓存机制。原创 2023-10-16 20:26:01 · 240 阅读 · 0 评论 -
linux应用程序使用系统命令点亮LED
将字符串输出重定向,当前目录没有 test.txt,则创建 text.txt ,并将字符串输出到test.txt 文件中。和直接使用 vi 编辑器打开 test.txt 然后输入 hello 的效果是一样的。在应用程序中,我们可以使用system 函数来调用命令。原创 2023-10-16 20:06:46 · 292 阅读 · 0 评论 -
makefile 基本语法(下)
一、wildcard 函数二、notdir 函数三、dir 函数四、patsubst 函数五、foreach 函数原创 2023-10-16 19:51:12 · 54 阅读 · 0 评论 -
makefile 基本语法(上)
使用这个 makefile 虽然也可以成功编译,但是,一旦编译的文件多了,如果我们还这样来编写makefile就会变得非常复杂接下来我们一步一步的来简化这个 makefile。=”来赋值,如果 变量前面没有被赋值,那么就给它赋值,如果前面已经赋值了,就使用前面的值。使用“=”来赋值,是延迟赋值,使用它来赋值是 makefile 里面最后被指定的值。使用“+=”赋值是追加赋值,是在我们前面定义的好的字符串里面在添加进去新的字符串。= ” “ := ” “ += ”使用“ :=” 给变量赋值,是立刻赋值。原创 2023-10-16 19:42:27 · 116 阅读 · 0 评论 -
字符设备和杂项设备总结
字符设备是 3 大类设备(字符设备、块设备和网络设备)中的一类,其驱动程序完成的主要工作是初始化、添加和删除 cdev 结构体,申请和释放设备号,以及填充 file_operations 结构体中的操作函数,实现file_operations 结构体中的 read()、write()和 ioctl()等函数是驱动设计的主体工作。原创 2023-10-12 20:31:47 · 108 阅读 · 0 评论 -
linux驱动模块传参
在装载内核模块时,用户可以向模块传递参数,形式为“insmode(或 modprobe)模块名参数名=参数值”,如果不传递,参数将使用模块内定义的缺省值。如果模块被内置,就无法insmod 了,但是bootloader可以通过在 bootargs 里设置“模块名.参数名=值”的形式给该内置的模块传递参数。原创 2023-10-12 20:24:33 · 303 阅读 · 0 评论 -
Linux 用户层、内核层和MMU
设备驱动:设备驱动程序(device driver),简称驱动程序(driver),是一个允许高级(High level)计算机软件(computer software)与硬件(hardware)交互的程序,这种程序建立了一个硬件与硬件,或硬件与软件沟通的界面,经由主板上的总线(bus)或其它沟通子系统(subsystem)与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。主设备号标识设备对应的驱动程序,次设备号由内核使用,用于确定设备节点所指设备。原创 2023-10-12 20:08:36 · 380 阅读 · 0 评论 -
MISC驱动
设备号包含主设备号和次设备号,设备号是计算机识别设备的一种方式,主设备号相同的就被视为同一类设备,主设备号在 Linux 系统里面是唯一的,次设备号不一定唯一。所有的 misc 设备驱动的主设备号都为10,不同的设备使用不同的从设备号。注册杂项设备有一个通用的思路和方法,总结为三个步骤:(1)、填充 miscdevice 这个结构体(2)、 填充 file_operations 这个结构体(3)、 注册杂项设备并生生成设备节点。原创 2023-10-11 19:13:50 · 211 阅读 · 0 评论 -
Linux 环境变量
概念:环境变量是系统预设值的参数。Linux 是一个多用户的操作系统,所以每一个用户也都有自己的环境变量。常用变量 PATH 决定了要去哪个路径下去寻找我们的程序或者命令。使用这个方法环境变量是立刻生效的,但是只是临时改变,我们重新打开再关闭终端就没有了,而且只对当前用户生效。命令格式:export 变量=新增的变量值:$变量。命令格式:export 变量=新增的变量值:$变量。我们直接在这个配置文件里边加上我们的环境变量。更新一下,或者从新打开关闭终端也可以生效。设置完不是立刻生效的,要使用命令。原创 2023-10-10 20:22:11 · 154 阅读 · 0 评论 -
Linux 文件链接
Linux 下的文件链接有两类。一个是类似于 win 电脑的快捷方式,我们称为软链接,软链接也可以叫做符号链接。另一种是通过文件系统的 inode 连接来产生的,类似于 windows 电脑的复制,但是不产生新的文件,我们称为硬链接。硬链接也可以称作为实体链接。原创 2023-10-10 19:18:14 · 562 阅读 · 0 评论 -
Linux 常用命令
用创建多级目录,加上-p 参数.例如要在test 路径里面创建一个 test1 ,然后在 test1 下面再创建一个test2。-r 参数:递归复制,就是说我们要把 test 这个目录下所有的东西都复制到 test1 里面去。-l :显示文件的详细信息,比如说文件的形态、权限、所有者、大小信息等。格式:tar [参数] 压缩文件名 要压缩的目录或者文件的名字。ls 命令常用的参数有两个:第一个是 a ,第二个是 l。这个命令有三个常用的参数为 -r -f -i,注意:删除目录一定要加上 -r 参数。原创 2023-10-10 17:39:42 · 4001 阅读 · 0 评论 -
Vim编辑器的使用
我们要切换到编辑模式,直接按键盘上的 i ,出现 INSERT ,则现在所处的模式就是编辑模式。这三种模式我们都是通过 ESC 来退回的,是按键盘上的“:”,或者是“i”键来切换的,这就是 vi 编辑器的三种模式。这个命令它会与我们使用apt-get update 下载的软件列表的软件进行对比,如果发现安装的版本过低,就会提示更新,如果软件已经是最新版本,就不必要更新了。软件的卸载,我们使用的是 apt-get remove 加我们软件的名字,我这里卸载安装的vim软件,我们输入。下载前首先要更新软件。原创 2023-10-10 11:37:38 · 3320 阅读 · 0 评论 -
Ubuntu 启用 root 用户
在安装系统的时候, root 用户是被禁用的,提示创建的用户是被分到 admin 组的,使用 admin 组的用户,可以启用并设置 root 用户。原创 2023-10-10 10:54:28 · 5416 阅读 · 0 评论