
Linux
文章平均质量分 83
....
未綄待續ξ
这个作者很懒,什么都没留下…
展开
-
Linux库的制作和使用
Linux库的制作和使用库的概念静态库(*.a)特点制作使用共享(动态)库(*.so)特点制作使用加载共享库如何找到共享库编译一个程序为可执行文件时,需要经过四部曲 : 预处理、编译、汇编、链接而库是二进制形式目标模块的包,是多个目标模块(xxx.o)的集合当使用库时,在链接阶段可以将库链接进可执行程序,同时也可以链接目标模块库的概念库是一个二进制文件,包含的代码可被程序调用(标准C库、数学库、线程库…)库有源码,可下载后编译;也可以直接安装二进制包。系统中一般默认库的安装路径:/lib原创 2022-04-22 22:55:01 · 559 阅读 · 0 评论 -
嵌入式系统移植——Bootloader移植(下)
Bootloader移植(下)U-BOOT 启动流程u-boot启动三个2启动步骤(重点)U-boot 启动源码分析U-BOOT 启动流程u-boot启动三个2两个阶段:汇编阶段(特殊功能寄存器C语言不能直接访问,C运行之前需要准备堆栈),C阶段两次搬移:u-boot自搬移,内核搬移两次初始化:基本硬件初始化,大部分硬件初始化 第一条指令位置(参考u-boot.map) arch/arm/cpu/armv7/start.S 里的 _start: b reset 设置为SVC模式原创 2021-10-21 11:39:57 · 295 阅读 · 0 评论 -
嵌入式系统移植——Bootloader移植(上)
Bootloader移植Bootloader 介绍什么是BootloaderBootloader的特点Bootloader的操作模式常用bootloader介绍U-boot介绍U-boot命令介绍Bootloader 介绍什么是BootloaderBootloader是硬件启动的引导程序,是运行操作系统的前提;在操作系统内核或用户应用程序运行之前运行的一小段代码。对软硬件进行相应的初始化和设定,为最终运行操作系统准备好环境;在嵌入式系统中,整个系统的启动加载任务通常由Bootloade原创 2021-10-16 17:19:50 · 714 阅读 · 0 评论 -
Makefile(二)
Makefile六、从内核中读取Makefile六、从内核中读取Makefileu-boot中,config.mk文件包含变量的声明模仿一下:原创 2021-10-06 20:27:18 · 217 阅读 · 0 评论 -
Makefile(一)
Makefile一、Make简介二、Makefile基本结构三、Makefile的基本使用实例四、Makefile变量创建和使用变量五、Make的使用一、Make简介工程管理器,顾名思义,是指管理较多的文件。Make工程管理器也就是个“自动编译管理器”,这里的"自动"是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作。Make将只编译改动的代码文件,而不用完全编译。二、Makefile基本结构Makefile是Make读原创 2021-10-02 18:14:18 · 170 阅读 · 0 评论 -
C语言 _ 编辑、调试工具
C语言 _ 编辑、调试工具一、GCC编译器1、GNU工具2、GCC简介3、GCC编译器的版本4、gcc所支持后缀名解释5、编译器的主要组件6、GCC的基本用法和选项7、GCC的错误类型及对策8、**GCC编译过程**二、GDB调试工具1、Gdb调试流程:2、进入代码调试模式后一、GCC编译器1、GNU工具编译工具:把一个源程序编译成为一个可执行程序。调试工具:能对执行程序进行源码及汇编级调试。软件工程工具:用于协助多人开发或大型软件项目的管理,如make、CVS、Subvision其他工具:用于原创 2021-09-18 20:04:19 · 1671 阅读 · 0 评论 -
C语言 _ 内存管理
C语言 _ 内存管理存储模型内存管理动态内存深入理解存储模型1、栈区由编译器自动分配释放 ,存放函数的参数值,局部变量的值等2、堆区一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收3、静态全局数据区主要包括静态全局区和常量区char *s = “HelloWorld”;//该字符串 HelloWorld 即存放于字符常量区,不可修改。但指针s存放于栈区。若在程序中尝试对其修改(例如尝试修改第一个字符 *s = ‘h’;),将出现编译可通过,运行报错的情况。同时因注意它与c原创 2021-09-21 00:43:06 · 169 阅读 · 0 评论 -
C语言 —— 结构体
C语言 —— 结构体1 、C语言中结构体概念说明2、结构体的使用结构体的定义定义变量结构体的属性内嵌结构体3、结构体数组4、结构体指针4、共用体5、typedef关键字1 、C语言中结构体概念结构体时用户自定义的新数据类型,在结构体中可以包含若干个不同数据类型和不同意义的数据项(当然也可以是相同),从而是这些数据项组合起来反应某一个信息。例如,可以定义一个职工worker结构体,在这个结构体中包括职工编号、姓名、性别、年龄、工资、家庭住址、联系电话,这样就可以用一个结构体数据类型的变量来存放原创 2021-09-20 00:43:34 · 966 阅读 · 0 评论 -
Linux _ Shell编程 — 函数
Linux _ Shell编程 — 函数shell函数调用函数变量作用域shell函数调用1、函数调用的格式方法1:value_name = `funtion_name [arg1 arg2 .......]`函数的所有标准输出都传递给了主程序的变量。方法2: funtion_name [arg1 arg2 .......] echo $?例如:方法一:方法二:函数变量作用域全局作用域 :在脚本的其他任何地方都能够访原创 2021-09-18 11:26:51 · 92 阅读 · 0 评论 -
Linux _ Shell编程 — 循环语句
Linux _ Shell编程 — 循环语句一、循环语句for的用法二、循环语句while的用法三、循环控制语句一、循环语句for的用法 for 变量名 in 单词表 do 命令表 done变量依次取单词表中的各个单词,每取一次单词,就执行一次循环体中的命令。循环次数由单词表中的单词书确定。命令表中的命令可以是一条,也可以是由分号或换行符分开的多条。原创 2021-09-18 00:05:05 · 1119 阅读 · 0 评论 -
Linux _ Shell编程 — 分支语句
Linux _ Shell编程 — 分支语句条件语句多路分支语句条件语句多路分支语句原创 2021-09-15 21:31:20 · 268 阅读 · 0 评论 -
Linux _ Shell编程 — 功能语句
Linux _ Shell编程 — 功能语句一、说明性语句二、常用功能性语句1、常用功能性语句(read命令)2、expr命令三、结构性语句条件测试语句字符串测试整数测试文件的测试一、说明性语句以#号开始到结束,不被解释执行。文本第一行:#!/bin/sh ------------ 告诉os用哪种类型的shell来解释执行该程序。二、常用功能性语句任意的shell命令、用户程序或其它的shell程序。1、常用功能性语句(read命令)read var ---------原创 2021-09-13 00:22:27 · 215 阅读 · 0 评论 -
Linux _ Shell编程 — 变量
Linux _ Shell编程 — 变量shell脚本的基础知识shell脚本的本质shell编程的基本过程shell变量用户自定义变量位置变量环境变量shell脚本的基础知识shell脚本的本质语言的分类有:编译性语言解释性语言C语言、C++语言、JAVA、PHP、Python等,不同编译器编译的执行文件不同,运行的平台也不尽相同。shell脚本语言是解释性语言shell脚本的本质:shell命令的有序集合。shell编程的基本过程step1 :建立shell文件原创 2021-09-12 20:44:50 · 139 阅读 · 0 评论 -
Linux _ 网络配置管理
Linux _ 网络配置管理原创 2021-09-12 15:58:26 · 140 阅读 · 0 评论 -
Linux _ 文件系统相关命令
Linux _ 文件系统相关命令file、mkdir、rmdir、ln命令file、mkdir、rmdir、ln命令pwd 、 ls 、 cd 、 touch 、 cp 、 mv 、 rm 、 cat 、 head 、 tail原创 2021-09-12 14:57:14 · 105 阅读 · 0 评论 -
Linux _ 文件系统的类型和结构
Linux _ 文件系统的类型和结构一、Linux文件系统的类型概念分类SCSI与IDE设备命令交换分区二、Linux文件系统的结构文件系统逻辑结构文件系统结构基本目录Linux文件系统与Windows文件系统的对比一、Linux文件系统的类型概念再任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。Linux同样具有完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,也可以使用功能强大的shell文件系统管理工具。分类原创 2021-09-12 00:01:35 · 811 阅读 · 0 评论 -
Linux _ 进程管理相关命令
Linux _ 进程管理相关命令进程与程序的关系进程管理相关的命令ps命令top命令进程与程序的关系同一程序可以产生多个进程(一对多的关系),如游戏多开程序是静态的,操作系统指令文件进程是动态的,是操作系统进行资源分配的概念进程管理相关的命令ps命令显示进程(process)的动态语法: ps [options]常见的参数:— -A:列出所有的进程。— -w:显示加宽可以显示较多的资讯。— -au:显示较详细的资讯。— -aux:显示所有包含其他使用者的进程。注意:通常原创 2021-09-11 13:38:07 · 106 阅读 · 0 评论 -
Linux _ 用户管理
Linux _ 用户管理用户管理相关文件介绍用户属性/etc/passwd文件/etc/group文件用户管理相关命令介绍用户管理相关文件介绍用户属性用户名口令用户ID(UID)用户主目录(HOME)用户shell/etc/passwd文件/etc/passwd文件是系统能够识别的用户清单。用户登录时,系统查询这个文件,确定用户的UID并验证用户口令。 — 登录名。 — 经过加密的口令。 — UID。 — 默认的GID。 — 个人信息。 —原创 2021-09-11 00:16:37 · 90 阅读 · 0 评论 -
Shell基本命令
Shell基本命令shell简介背景简介执行过程选择shell用shell命令来关机和重启shell命令格式介绍shell命令操作shell命令通配符shell的管道shell中grep命令和管道结合使用输入输出重定向命令置换shell简介背景随着各式Linux系统的图形化程度的不断提高,用户在桌面环境下,通过电机、拖拽等操作就可以直接完成大部分的工作。然而,许多Ubuntu Linux 功能使用Shell命令来实现,要比使用图形界面交互,完成的更快、更直接。简介英文单词shell可直译为原创 2021-09-05 14:47:16 · 403 阅读 · 0 评论 -
deb软件包管理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-09-04 15:15:22 · 1105 阅读 · 0 评论 -
Linux _ Shell基本系统维护命令
Linux _ Shell基本系统维护命令man 、passwd、su、echo命令的用法manpasswdsuechodate、clear 、df、du命令的用法datecleardfduman 、passwd、su、echo命令的用法man使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。一般语法形式为:man commands使用man可以查询一些不熟悉的命令,去了解不熟悉的个命令。使用:q退出帮助页面passwd出于系统安全考虑,Linux系统中的每一个账号都必须同时具有用原创 2021-09-05 15:51:26 · 169 阅读 · 0 评论 -
popen函数
popen函数前言一、函数原型二、参数说明三、返回值四、作用五、例子总结前言比system在应用中的好处:可以获取运行的输出结果。一、函数原型#include “stdio.h”FILE popen( const char* command, const char* mode )二、参数说明command: 是一个指向以 NULL 结束的 shell 命令字符串的指针。这行命令将被传到 bin/sh 并使用 -c 标志,shell 将执行这个命令。mode: 只能是读或者写中的一种,得到的返原创 2020-09-26 22:41:56 · 625 阅读 · 0 评论 -
system函数
system函数前言一、头文件二、定义函数三、函数说明四、返回值五、例子总结前言system函数是封装后的exec族函数一、头文件#include<stdlib.h>二、定义函数int system(const char * string);三、函数说明system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,== 与exec族函数不同:此命令执行完后随即返回原调用的进程。 == 在调用system()期原创 2020-09-26 22:16:18 · 356 阅读 · 0 评论 -
Linux进程之exec族函数
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。一、pandas是什么?二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport s原创 2020-09-26 20:35:59 · 442 阅读 · 0 评论 -
Linux进程
Linux进程一、fork函数使用二、实际应用场景1、网络进程2、一个进程执行一个不同的程序三、vfork函数四、进程退出1、正常退出main函数调用return进程调用exit()函数,标准C库进程调用_exit() 或者 _Exit(),属于系统调用2、异常退出调用abort进程收到某些信号时,如 ctrl + C五、父进程等待子进程退出子进程退出状态不被收集会变成僵尸进程父进程收集子进程退出码孤儿进程一、fork函数使用#include <stdio.h>#include <s原创 2020-09-20 23:54:55 · 429 阅读 · 0 评论 -
Linux进程相关概念
Linux进程相关概念一、什么是程序,什么是进程,有什么区别?二、如何查看系统中有哪些进程?三、什么是进程标识符?四、什么叫父进程,什么叫子进程?五、C程序的存储空间是如何分配的?一、什么是程序,什么是进程,有什么区别?进程是程序的一次执行过程,是动态概念,程序是一组有序的指令集和,是静态概念。二、如何查看系统中有哪些进程?指令:ps -aux实际工作中,配合grep来查找程序中是否存在某一个进程使用方法:ps -aux|grep xxx xxx:为要查找的字段指令:top 类原创 2020-09-19 23:49:32 · 130 阅读 · 0 评论 -
文件中写入一个整数和结构体
文件中写入一个整数和结构体一、写入一个整数二、写入一个结构体一、写入一个整数#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <unistd.h>#include <string.h>#include <stdlib.h>int main(){ int fd; int dat原创 2020-09-19 22:35:40 · 177 阅读 · 0 评论 -
文件编程小应用(二)
修改程序的配置文件一、思路1、将配置文件里的内容读到缓冲区里2、利用strstr()函数找到要修改的字符串字段3、修改内容4、将缓冲区里的修改完的内容重新写入文件二、源代码总结一、思路1、将配置文件里的内容读到缓冲区里2、利用strstr()函数找到要修改的字符串字段3、修改内容4、将缓冲区里的修改完的内容重新写入文件二、源代码#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#i原创 2020-09-15 18:17:11 · 84 阅读 · 0 评论 -
文件编程小应用(一)
实现Linux cp命令的代码一、main函数的参数二、思路1.打开src.c2.读src.c到buf3.打开/创建des.c4.将buf写到des.c5.close des.c 和 src.c总结一、main函数的参数#include <stdio.h>int main(int argc,char **argv){ printf("total params: %d\n",argc); printf("NO.1 params: %s\n",argv[0原创 2020-09-13 18:49:56 · 122 阅读 · 0 评论 -
Linux文件编程
Linux文件编程文件打开及创建文件写入操作编程文件读取操作文件光标移动操作一、文件打开及创建二、文件写入操作编程原创 2020-08-27 22:09:56 · 151 阅读 · 0 评论 -
Linux下网络IP地址的转换函数
Linux下网络IP地址的转换函数网络IP地址本是用32位二进制来表示的,为了记忆的方便可以用点分十进制来表示IP地址,同时,网络IP地址在网络传输和计算机内部的存储方式也不同,需要用函数来进行转换。将点分十进制字符串转换成十进制长整型数:in_addr_t inet_addr(const char *cp); in_addr_t 即long型,参数cp表示一个点分十进制字符串,返回值是十进制长整型数。将长整型IP地址转换成点分十进制:char *inet_ntoa(struct in_原创 2020-07-02 10:52:55 · 443 阅读 · 0 评论