
Linux
文章平均质量分 57
春夏与冬
有田不耕仓禀虚,有书不读子孙愚。宝剑锋从磨砺出,梅花香自苦寒来。少壮不知勤学苦,老来方悔读书迟。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
交叉编译
要在 X86 的PC上编译出能够在 ARM上运行的程序,须明确告诉编译器,编译生成的可执行文件需要以ARM指令集的标准编码。为了流程变得简单,开发者们为不同的芯片开发了不同的编译器,如针对 ARM平台的 arm-linux-gcc,针对mips平台的 mips-linux-gnu-gcc。应用程序在嵌入式目标系统上运行,调试时,gdb调试在Host端。Linux发行版中有一个可以运行的gdb,但不能直接用来做远程调试,需要获取gdb的源代码包,针对arm平台作一个简单配置,重新编译得到相应gdb。原创 2024-03-25 10:26:10 · 410 阅读 · 0 评论 -
vim使用
astyle (配置vi)vim+astyle 格式化代码 sudo apt-get install astyle。原创 2024-03-21 19:24:05 · 350 阅读 · 0 评论 -
gdb命令
如果没有调试信息,提示 Reading symbols from main…(no debugging symbols found)…gdb调试需在可执行文件中加入源码信息:gcc –o main a.c -g。有调式信息 Reading symbols from main…2.通过set args命令指定程序的参数。1.通过run命令提供程序运行时的参数。原创 2024-03-21 19:18:21 · 509 阅读 · 0 评论 -
core文件
限制core文件大小:ulimit -c 1024 将core文件限制为1024KB。如果生成的信息超过了将会被裁剪,生成一个不完整的core文件,调试此core文件时,gdb会提示错误。查看core文件的生成开关:ulimit -c,若结果为0,则表示关闭了此功能,不会生成core文件。core文件的大小不受限制:ulimit -c unlimited。默认为输入可执行文件运行命令的同一路径下。原创 2023-12-21 11:21:45 · 683 阅读 · 0 评论 -
Shell
shell脚本与Windows/Dos下的批处理相似,用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件。原创 2021-08-12 21:48:35 · 164 阅读 · 0 评论 -
Makefile
Makefile中的依赖定义构成了一个依赖链(树),比如上面这个Makefile中,test依赖于main.o,main.o又依赖于main.c,所以,当你去满足test的依赖时,首先去检查main.o的依赖,直到找到依赖树的叶子节点(main.c),然后进行时间比较。Makefile文件中,foo.o: foo.c定义了一个“依赖”,说明foo.o是依赖foo.c编译成的,它后面缩进的那些命令就是简单的shell脚本,称为规则(rule)。但是当文件特别多的情况下,一个一个去编译,然后再去链接起来吗?原创 2020-04-27 23:31:32 · 313 阅读 · 1 评论 -
Linux command 命令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。原创 2020-03-21 20:57:24 · 3348 阅读 · 0 评论 -
gcc编译
O:对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。-O2 : 比-O更好的优化编译、链接,当然整个编译、链接过程会更慢。编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。-g:产生符号调试工具(GNU的gdb)所必要的,要对源代码进行调试,须加这个选项。1.由源文件编译生成一堆.o,每个.o里都包含这个编译单元的符号表。原创 2020-03-19 23:45:19 · 383 阅读 · 1 评论 -
Linux
Shell脚本与Windows/Dos下的批处理相似,用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件#‘,’替换为空格var='1,2,3,4,5'var=${var//,/ }echo $var#for循环for element in $var do echo $elementdoneseq 用于产生从某个数到另外一个数之间的所有整数-eq 等于-...原创 2020-02-29 13:02:41 · 179 阅读 · 1 评论 -
Linux : 错误码
调用linux 系统api 时会出现一些错误,比方说使用open()write() creat()函数有时会返回-1,也就是调用失败,这时往往需要知道失败的原因。使用errno这个全局变量就相当有用了。 在程序代码中包含 #include <errno.h>,然后每次程序调用失败时,系统会自动用用错误代码填充errno这个全局变量,这样只需读errno这个全局变量就可以获得失败的原因...原创 2020-01-20 22:21:32 · 477 阅读 · 0 评论 -
Linux : 中断 上下文
某个外部设备因为某些事件向CPU发了一个信号,CPU停止正在进行的工作优先处理此事件, 处理完之后继续处理原来进行的工作。CPU在执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。(如有必要,被中断的程序可以在后来某时间恢复,继续执行。)中断:CP...原创 2020-02-03 22:22:32 · 451 阅读 · 0 评论 -
Linux : 信号
信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,用来通知进程发生了异步事件。比如,终端用户输入了ctrl+c来中断程序,会通过信号机制停止一个程序。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件,并不给该进程传递任何数据。阻塞信号:信号被进程解除阻塞之前不会把信号传递出去,被阻塞的信号也不会影响进程的行为,暂时被阻止传递。忽略信号:信号会被传递出去但进程会将信号丢弃。信号处理器程序(也称为信号捕捉器):当指定信号传递给进程时将会调用的一个函数。原创 2020-01-20 22:54:34 · 181 阅读 · 1 评论