- 博客(24)
- 收藏
- 关注
原创 Linux-Ubuntu18.0.4设置、查看环境变量
,以免因为操作不当导致系统严重错误。~/.profile : 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。
2023-11-23 16:10:38 405
原创 嵌入式Linux系统移植
gcc是X86架构的C语言编译器,arm-linux-gcc是跨平台的C语言编译器,编译出来的程序在 目标机上执行。启动加载器的工作是为内核准备好合适的工作环境并加载内核,我们使用德国DENX小组开发的u-boot。start_armboot函数在lib_arm/board.c中定义,是第二阶段代码的入口。u-boot启动流程是指从上电开机执行到u-boot,到u-boot加载操作系统的过程。u-boot入口代码的对应源文件cpu/arm920t/start.S中。2.1.3 u-boot编译过程分析。
2023-11-22 16:54:04 1317
原创 linux环境高级编程-进程间通信IPC
管道是UNIX系统IPC的最古老形式,所有UNIX系统都提供此种通信机制,管道有以下两种局限性。历史上,它们是半双工的(即数据只能在一个方向上流动),现在,某些系统提供全双工管道。管道只能在具有公共祖先的两个进程之间使用。通常,一个管道由一个进程创建,在进程调用fork之后,这个管道就能在父进程和子进程之间使用了。尽管有这两种局限性,半双工管道仍是最常用的IPC形式。
2023-10-25 15:24:39 575
原创 linux环境高级编程-高级IO
IO复用模型核心思路:系统给我们提供一类函数(select、poll、epoll函数),它们可以。,任何一个返回内核数据就绪,应用进程再发起recvfrom系统调用。IO多路转接也称为IO多路复用。为了大量的描述符IO事件就绪监控。代码示例1----对标准输入进行监听。上面的代码不会出现盲等现象。本节对应第十四章高级IO。1.4 IO多路转接模型。
2023-10-17 16:07:44 87
原创 【Linux】之安装完整的 man page
使用man -k pthread或apropos pthread可以查找到当前manpages中关于pthread的手册。
2023-10-11 17:03:13 186
原创 Linux环境高级编程-线程
但是,当一个线程可以修改的变量,其他线程也可以读取或者修改的时候,我们就需要对这些线程进行同步,确保它们在访问变量的存储内容时不会访问到无效的值。如果释放互斥量时有一个以上的线程阻塞,那么所有该锁上的阻塞线程都会变成可运行状态,第一个变为运行的线程就可以对互斥量加锁,其他线程就会看到互斥量依然是锁着的,只能回去再次等待它重新变为可用。如果允许其中的某个线程在没有得到锁的情况下也可以访问共享资源,那么即使其他的线程在使用共享资源前都申请锁,也还是会出现数据不一致的问题。条件变量是线程可用的另一种同步机制。
2023-10-10 17:21:33 112 1
原创 Linux环境高级编程-信号
因此,在设备打开失败的时候,需要判断是因为open自身引发的错误,还是因为信号打断而没有打开,对于前者,以以往的方式处理错误,而对于后者应该尝试再次打开设备,而不是报错后退出程序。以open为例,进程调用open时,进入阻塞态,等待IO设备打开,如果IO设备打开时间过长,此时有一个信号到来,就会打断open调用,使其打开设备失败。,会打断阻塞(唤醒进程),让进程进入就绪态,获得时间片进入运行态,此时进程还没阻塞到1s,就进入了就绪态,即信号会打断阻塞的系统调用。中,信号名都被定义为正整数常量(信号编号)。
2023-09-28 16:44:31 78 1
原创 【linux】建立共享文件夹
1.在Windows桌面下创建文件夹share。8.选择windows桌面下创建的share。Windows: 桌面/share。5.选择"共享文件夹"6.点击"总是启用"
2023-09-13 18:27:29 221
原创 【八大排序算法】冒泡排序
所谓交换排序就是就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。n 个数,那么就需要冒泡 n−1 趟,将数据冒到结尾,在每趟冒泡排序中,比较相邻两个元素,如果满足条件,则交换。优化代码(如果一趟冒泡排序中,没有发生交换,说明有序,那么。
2023-09-11 17:33:58 52
原创 【linux】gdb调试器
print 表达式:简记为 p ,其中“表达式”可以是任何当前正在被测试程序的有效表达式,比如当前正在调试C语言的程序,那么“表达式”可以是任何C语言的有效表达式,包括数字,变量甚至是函数调用。总的来说在Linux下开发程序gdb/cgdb是必须学会使用的,他的强大之处远不止于此,在程序的调试中用它会提高的我们的调试效率,当然gdb的功能与使用技巧还不止于此,多多探索,多多学习使用。如: watch a。call 函数(参数):调用程序中可见的函数,并传递“参数”,如:call gdb_test(55);
2023-09-08 14:51:04 123 1
原创 【linux】vim编辑器
vim 是一个功能非常强大的全屏幕文本编辑器,在 Linux 中,vim 编辑器被广泛使用。因为其功能丰富,尤其受程序员喜爱。vim 也是一个类似于 vi 的著名的功能强大、高度可定制的 文本编辑器,在 vi 的基础上改进和增加了很多特性。vim 和 vi 一样,是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,并且糅合了一些新的特性在 vim 中。例如语法高亮、可视化操作,这些不仅可以在终端运行,也可以也可以运行于 x window、 mac os、windows。
2023-09-07 15:51:08 61
原创 【linux】安装搜狗输入法
在弹出弹框中,选择“+”号,取消勾选“Only Show Current Language”, 然后搜索“so”, 可以看到sogoupinyin选项,选择确认即可。安装搜狗输入法以后,重启Ubuntu.直接在“键盘输入法系统中,选择“可以看到,搜狗输入法已成功安装。到此,fcitx安装配置完成。2.安装fcitx输入法框架。1.下载搜狗输入法的安装包。4.重启Ubuntu。
2023-09-07 15:32:16 3219
原创 【Linux】基础——常用命令
一说到命令行,我们真正指的是 shell。shell 就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。几乎所有的 Linux 发行版都提供一个名为 bash 的来自 GNU 项目的 shell 程序。“bash”是“Bourne Again SHell”的首字母缩写,所指的是这样一个事实, bash 是最初 Unix 上由 Steve Bourne 写成 shell 程序 sh 的增强版。
2023-09-04 15:37:47 136 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人