![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
chief-P
道阻且长
展开
-
Linux —进程管理命令
ps默认显示与当前终端有关的进程信息-e 显示系统中所有的进程信息-f 显示更多的进程属性信息(全格式)-L 显示进程中的线程 ID[pei@localhost Desktop]$ ps PID TTY TIME CMD 3191 pts/0 00:00:00 bash 3586 pts/0 00:00:00 ps[pei@localhost Desktop]$ ps -e PID TTY TIME CMD 1 ?原创 2020-09-09 20:51:24 · 175 阅读 · 0 评论 -
linux—库文件
什么是库文件库是一组预先编译好的方法的集合。 本质上来说,库文件就是可执行代码的二进制形式,可以被操作系统载入内存中执行。Linux系统存储的库的位置一般在:/lib 和 /usr/lib。在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在/usr/include 下或其子目录下。Linux操作系统支持的函数库分为静态库和动态库,动态库又称共享库。静态库静态库名称一般为:libxxx.a 例librse.a利用静态函数库编译生成的文件一般较大,因为原创 2020-09-09 20:22:50 · 174 阅读 · 0 评论 -
makefile
makfile是什么Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在 Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。为什么要使用makefile以 Linux 下的C语言开发为例来具体说明一下,多文件编译生成一个文件,编译的命令原创 2020-09-06 16:31:38 · 757 阅读 · 0 评论 -
linux-进程的虚拟地址空间
进程是执行中的程序(程序是存储在磁盘上的二进制可执行文件,指令+数据)虚拟地址空间程序运行后进程拥有自己独立的虚拟空间大小: CPU位数决定 如果32位是4G 指针大小与虚拟地址空间位数相同(寻址空间== 虚拟地址空间)32 位平台 *p 32位==4byte 64位 *p 64位 == 8 byteLinux下布局1.内核空间read fork open等(系统api),在内核空间(1G)2 栈局部变量存放在栈中栈内存区的地址是连续的,鲧统控制速度较快3.堆堆内存区的地址是原创 2020-09-01 17:14:07 · 308 阅读 · 0 评论 -
Linux-readelf,objdump
objdump查看目标文件的信息objdump查看目标文件或者可执行目标文件的构成的gcc工具常见选项:objdump -x obj:以某种分类信息的形式把目标文件的数据组成输出;<可查到该文件的的所有动态库>objdump -t obj:输出目标文件的符号表()objdump -h obj:输出目标文件的所有段概括()objdump -j ./text/.data -S obj:输出指定段的信息(反汇编源代码)objdump -S obj:输出目标文件的符号表() 当g原创 2020-08-27 18:02:06 · 236 阅读 · 0 评论 -
linux-编译连接原理
在linux系统下编写代码后,通过gcc进行编译和链接生成可执行文件 细分就是四大部分:预编译,编译,汇编,链接预编译gcc下,首先会将C文件生成 .i 文件,C++文件生成 .ii 文 件。gcc -E 源文件 -o 生成文件预编译做的事情:a) 删除所有的“#define”,并且展开所有的宏定义;b) 处理所有的条件预编译指令,“#if”、“#ifdef”、“#endif”等;c) 处理“#include”预编译指令,将被包含的文件插入到该预编译指令的位置;d) 删除所有的注释;e原创 2020-08-27 16:23:28 · 171 阅读 · 0 评论 -
gcc和g++的使用和区别
程序的编译和链接阶段是靠编译器来完成。gcc和g++就是常见的两个编译器。这两个编译器的编译阶段是相同的gcc基本格式gcc 【选项】 准备编译的文件 【选项】 【目标文件】gcc的常见选项无选项:在准备编译的文件目录下生成可执行文件 a.out ,gcc test.c-x:告诉gcc源文件的语言,若不使用,则默认根据文件后缀判断语言:gcc -x c test.c ,“c”处还可为:c++ ,assembler ,c-header ,objective-c ,等-o:用于指定结果名称原创 2020-08-14 16:17:59 · 167 阅读 · 0 评论