1. 1
  2. 2
  3. 3
最新发布 每页10条   共274条   当前第3页
  • 应该选

    linux守护进程的作用和原理、创建守护进程的三种方式

    yexindonglai@163.com 2023-08-14 23:37 c++

    876°

    0

    一、什么是守护进程二、守护进程和普通进程的区别三、创建守护进程的三种方式四、举个栗子一、什么是守护进程守护进程(Daemon)是在操作系统中运行的一种特殊类型的后台进程。它在系统启动时启动,并在系统关闭时终止,与用户交互的终端会话无关。守护进程通常在后台运行,不会与用户进行直接的交互,也不会被用户终止。守护进程通常用于执行一些系统级的任务和服务,比如网络服务、数据库服务、日志记录、定时任务等。它们在系统运行时一直保持活动状态,为其他应用程序或用户提供服务二、守护进程和普通进程的区别守护进程相对于普通进程的主要区别在于其独立于终端会话,并且在后台持续运行。守护进程通常用于以下几个方面:后台运行:
  • 应该选

    CLion引入第三方库 gtest 并使用

    yexindonglai@163.com 2023-07-24 23:43 c++

    975°

    0

    步骤1、创建一个项目2、下载gtest源码3、修改跟项目的CMakeLists.txt文件4、修改main.cpp文件5、编译6、运行步骤1、创建一个项目选择C++Executable创建好后如下图2、下载gtest源码直接在项目的根目录下载,gitclonehttps://github.com/google/googletest.git下载好了,如下图,是个cmake项目嫌麻烦的话也可以直接在github上下载zip版本的源码3、修改跟项目的CMakeLists.txt文件cmake_minimum_required(VERSION3.24)project(gtest_lib)set(CMA
  • 应该选

    使用Valgrind查找内存泄露和程序崩溃

    yexindonglai@163.com 2023-07-24 20:01 c++

    1030°

    0

    valgrind简介valgrind格式常用valgrind选项valgrind主要功能1、Memcheck2、Callgrind3、Cachegrind4、Helgrind5、Massif一、安装valgrind自行下载源码安装在线安装二、举个栗子1、准备一个会崩溃的c++代码2、编译3、运行valgrind4、结果分析valgrind简介Valgrind是一个GPL的软件,用于Linux(Forx86,amd64andppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C语言中的malloc和free或者C++中的new和delete。使用Valg
  • 应该选

    使用signal信号机制 + backtrace函数打印出程序崩溃后的堆栈信息

    yexindonglai@163.com 2023-07-23 21:26 c++

    774°

    0

    前言signal是什么backtrace是什么代码示例运行结果前言signal是什么signal()函数是C语言中用于处理信号的函数,它用于注册信号处理函数。信号是在程序执行过程中由操作系统或其他进程发送给进程的通知,例如,程序错误、外部事件等backtrace是什么backtrace函数是一个用于获取调用栈信息的函数,它可以用于调试和错误处理。通常会配合backtrace_symbols函数一起使用;backtrace()函数用于获取当前线程的调用栈信息,获取调用栈中每个函数的返回地址;backtrace_symbols()函数将backtrace()函数获取到的调用栈信息转换为可读的字符串
  • 应该选

    C/C++ CoreDump配合gdb分析程序崩溃教程

    yexindonglai@163.com 2023-07-23 14:04 c++

    880°

    0

    什么是Coredump只有程序崩溃了才会生成CoreDump吗?一、前置工作1、核心文件说明2、设置核心文件存放地址3、设置核心文件大小二、模拟程序崩溃1、准备崩溃程序2、编译并运行3、使用gdb分析核心转储文件完什么是CoredumpCoredump(核心转储)是在程序发生严重错误或崩溃时,操作系统将程序的内存状态和其他相关信息保存到一个文件中的过程。这个文件被称为核心转储文件或核心文件。核心转储文件记录了程序在崩溃时的内存映像、寄存器的值、堆栈信息以及其他相关信息。核心转储文件对于调试程序崩溃和分析崩溃原因非常有用。通过分析核心转储文件,可以了解程序在崩溃时的状态,帮助开发人员定位和修复错
  • 应该选

    gdb调试教程

    yexindonglai@163.com 2023-07-23 00:58 c++

    520°

    0

    什么是gdb实战安装gdb1、准备好调试的代码2、编译3、启用gdb调试4、break断点相关指令5、run运行程序6、continue断点处继续执行7、delete/clear删除断点8、next单步执行9、step进入函数内部10、print查看变量的值11、setvarxxx=x设置变量的值12、watch监听变量的值12、bt查看函数调用栈什么是gdbGDB(GNUDebugger)是一个功能强大的调试器,用于调试和分析程序的运行。它是自由软件基金会(FSF)的GNU项目的一部分,可在多个操作系统上使用,包括Linux、Unix、Windows等。GDB可以帮助开发人员在程序运行过程中
  • 应该选

    makefile自动推导详解

    yexindonglai@163.com 2023-07-22 12:04 c++

    451°

    0

    2、什么是自动推导2、实战编写makefile(常规写法)编写makefile(自动推导写法)比较2、什么是自动推导自动推导也叫隐含规则,所谓隐含规则指的是,我们在Makefile文件中不使用gcc/g++命令来生成目标文件,但是执行make命令以后,Makefile会自动帮我们执行。这就是Makefile的隐含规则,也可以称为自动推导的过程。2、实战首先准备三个文件student.h、student.cpp和主程序main.cppstudent.h#ifndefNAKEFILE_PROJECT_STUDEN_H#defineNAKEFILE_PROJECT_STUDEN_HintgetAge
  • 应该选

    Makefile 基础语法和变量详解

    yexindonglai@163.com 2023-07-22 11:35 c++

    408°

    0

    1、什么是makefile只编译修改过的文件原理编写规则2、实战编写makefile目录结构执行makefile运行修改后再编译3、变量3.1、自定义变量3.2、预定义变量3.3、自动变量1、什么是makefile当我们在写单个c或者cpp文件时,可直接用以下命令来编译文件#编译c文件gccmain.c-omain#编译c++文件g++main.cpp-omain但是当我们项目中有很多文件的时候,就不能用这种命令来编译了,首先成本太高,其次维护麻烦;所以大神们开发出了makefile;可以同时编译多个文件;并且会自动检测出哪些文件是修改过的,只编译修改过的文件,只编译修改过的文件原理刚刚说过,
  • 应该选

    idea全家桶直连linux服务器教程

    yexindonglai@163.com 2023-07-19 17:02 idea

    381°

    0

    前言方式一:不保存会话信息(不保存SSH连接的账户密码)方式二:保存会话信息前言IDEASSH工具连接linux方式,idea直连服务器工具,目前idea全家桶都支持这个功能;方式一:不保存会话信息(不保存SSH连接的账户密码)Tools->StartSSHSession->Editcredentials输入对应信息host、port、name和密码,点击ok即可出现连接后的控制台。方式二:保存会话信息Tools->Deployment->Configuration点击左上角的+号,设置name为SSH1,type选择SFTP然后开始输入host、port、name和密码,点击TestSFTP
  • 应该选

    Linux /proc/目录详解

    yexindonglai@163.com 2023-07-16 10:23 linux

    403°

    0

    前言文件说明注意事项前言在Linux系统中,/proc目录是一个特殊的虚拟文件系统,它提供了对系统内核和进程的访问。/proc目录中的文件和目录不是真实存在的,它们是在运行时由内核动态生成的,用于提供系统和进程的相关信息。文件说明下面是对/proc目录中一些重要文件和目录的解释:/proc/[pid]:这是一个目录,其中[pid]是进程的ID。每个正在运行的进程在/proc目录下都有一个对应的目录,其中包含有关该进程的信息,如进程状态、命令行参数、打开的文件、内存映射等。/proc/[pid]/fd:这是某个进程所操作的文件,包含文件的输入输出、socket连接信息等等;/proc/cpuin