![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 66
EleganceCoding
这个作者很懒,什么都没留下…
展开
-
Parallels Desktop 最小安装 CentOS 7
镜像文件下载下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/BT种子:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.torrent完整性确认确认是否被篡改:$ shasum -a 256 CentOS-7-x86_64-Minimal-2009.iso 07b94e6b1a0b0260b94c83d6bb76b26b原创 2021-11-05 23:58:28 · 581 阅读 · 0 评论 -
Linux c 地址空间 堆栈 数据段 代码段 变量存储位置
Linux 环境中,虚拟地址空间即用户程序可以看到的地址空间分为以下几个段,从上到下依次是栈,堆,bss,data,text以下内容只适用于 32 位系统,64 位系统略微不同。1、栈1.1 栈的作用在 c/c++ 中函数调用很常见,那么在底层函数调用是怎么实现的呢?c/c++ 中的函数调用,在会汇编指令中通过call 指令实现,当执行到 call 指令的时候,① 将函数所需参数从右到左依次入栈,例如调用 printf("a+b=%d\n",sum);,sum 入栈,字符串"a+b=%d\n"的地原创 2021-08-25 18:41:24 · 1323 阅读 · 0 评论 -
简单验证主线程退出,子线程强制退出吗?
一个进程可以生成多个线程,创建其他线程的进程,称为主线程。现在要探讨的问题,当主线程退出后,子进程还在运行吗?现在编写程序验证这个问题。主线程中不调用以下函数:pthread_join因为该函数会阻塞主线程,直到有子进程终止。pthread_detach准确地说,是不循环调用pthread_detach,循环调用pthread_detach,自然无法让主线程退出验证代码如下:thread.c#include <unistd.h> // sleep#include &原创 2021-05-27 11:39:49 · 444 阅读 · 0 评论 -
Linux 静态库和动态库原理 区别 制作和使用
1、什么是库库文件是计算机上的一类文件,提供给使用者一些开箱即用的变量、函数或类。静态库和动态库,静态库和动态库的区别体现在程序的链接阶段:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。假设当前目录下有以下文件├── main.c├── tools.c└── tools.htools.h 包含get_sum函数的声明#ifndef tools_h#define tools_hint get_sum(int a原创 2021-05-25 20:01:00 · 198 阅读 · 0 评论 -
GDB基础教程——断点设置,打印变量,跳出函数,跳出循环
假设当前目录下共有以下3个文件,接下来会利用以下代码来演示GDB的调试过程。├── main.cpp├── tool.h└── tools.cpp文件内容分别为:tool.h:函数声明void greeting();int sum(int a,int b);int sum(int a, int b);tools.cpp:函数定义#include <iostream>#include "tool.h"using namespace std;void greeting原创 2021-05-24 14:57:21 · 8468 阅读 · 2 评论 -
Linux 僵尸进程的产生和销毁
Linux 僵尸进程的产生和销毁Linux中用fork函数创建子进程。例如:#include <stdio.h>#include <unistd.h>#include <sys/types.h>int main(){ pid_t pid; pid = fork(); if(pid==0){ printf("子进程执行区域\n"); }else{ printf("父进程执行区域\n"); }原创 2021-05-06 17:29:52 · 302 阅读 · 0 评论