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

    git rebase使用教程 以及和merge的区别

    yexindonglai@163.com 2023-08-31 09:19 git

    801°

    0

    什么是rebaserebase原理什么是rebaserebase和merge相似,但又不完全相同,本质上都是用来合并分支的命令rebase原理现在我们通过图片来直观地了解下rebase指令;首先建两个分支master和feature,其中feature是在提交点B处从master上拉出的分支;master上有一个新提交M,feature上有两个新提交C和D这时候我们通过以下命令,将feature合并到master分支gitcheckoutmastergitrebasefeature执行命令后,就会将feature合并到master分支,他们的记录会插入到后面。如下图:
  • 应该选

    解决clion 2023 远程开发remote模式 - 头文件提示 : file not found(找不到Linux头文件)

    yexindonglai@163.com 2023-08-27 22:52 c++

    1997°

    0

    问题描述解决1、打开Registry2、勾选clion.remote.tar.dereference3、Resyncwithremotehosts问题描述最近在用远程开发,就是在windows系统上开发linux程序,但是用最新版的clion报错了,在clion找不到Linux中的库文件,所以就没有代码补全,但是编译是正常的。更具体点,找得到iostream但是找不到sys/wait.h、unistd.h;因为iostream是windows支持的,而sys/wait.h、unistd.h是linux系统支持的;如下图鼠标移上去会提示:filenotfound解决1、打开Registry首先双
  • 应该选

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

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

    1697°

    0

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

    CLion引入第三方库 gtest 并使用

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

    1485°

    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++

    1728°

    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++

    1197°

    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++

    1516°

    0

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

    gdb调试教程

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

    834°

    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++

    641°

    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++

    655°

    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;可以同时编译多个文件;并且会自动检测出哪些文件是修改过的,只编译修改过的文件,只编译修改过的文件原理刚刚说过,