草庐IT

Linux-ubuntu

全部标签

【Linux】信号保存与信号捕捉处理

信号保存与信号捕捉一、信号保存1.信号的发送2.理解信号保存(1)信号保存原因(2)信号保存概念3.信号保存系统接口(1)sigset_t(2)sigprocmask()(3)sigpending()(4)signal()(5)测试系统接口二、信号捕捉处理1.信号的处理2.理解用户态和内核态3.信号的捕捉4.系统调用(1)sigaction()(2)pending表的置0顺序(3)structsigaction中的sa_mask字段三、信号扩展1.可重入函数2.volatile3.SIGCHLD信号一、信号保存1.信号的发送那么在学习信号保存之前,我们先了解一下信号的发送,我们知道普通信号一共

Ubuntu系统编译Android SDK 由于系统内存不足导致编译失败问题解决

1环境背景1.1基础信息Ubuntu系统版本:ubuntu16.04LTS电脑主板CPU信息:Intel®Core™i5-3470CPU@3.20GHz×4电脑主板内存:15.6GiB需要编译的AndroidSDK版本:Android131.2编译报错信息1.2.1make-j4报错log============================================[100%1/1]analyzingAndroid.bpfilesandgeneratingninjafileatout/soong/build.ninjaFAILED:out/soong/build.ninjacd"$(

FFmpeg学习笔记--Ubuntu20.04编译安装FFmpeg、FFplay和FFprobe

目录1--下载FFmpeg2--编译FFmpeg3--设置环境变量4--测试1--下载FFmpeg①下载5.1版本的ffmpegwgethttp://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz②解压下载的压缩包tar-zxvfffmpeg-5.1.tar.gz2--编译FFmpeg①进入解压后的文件夹cdffmpeg-5.1②安装依赖#安装ffplay需要的依赖sudoapt-getinstalllibx11-devxorg-devlibsdl2-2.0libsdl2-devsudoaptinstallclanglibfdk-aac-devlibspee

C++ Linux : error: ‘move’ is not a member of ‘std’ how to get around it?

所以在我的VS2010上我可以编译如下代码:boost::shared_ptrinternal_thread;boost::packaged_taskinternal_task_w(boost::bind(&thread_pool::internal_run,this,internal_thread));internal_thread=boost::shared_ptr(newboost::thread(std::move(internal_task_w)));前两行在boost1.47.0和linux上没问题...但是在std::move上它给出了error:‘move’isnota

【Linux】环境基础开发工具的使用之gdb详解(三)

前言:上一篇文章中我们讲解了Linux下的gcc与g++的使用,今天我们将进一步的学习gdb与makefile来帮我们更好的理解与使用基础开发工具。💖博主CSDN主页:卫卫卫的个人主页💞👉专栏分类:Linux的深度刨析👈💯代码仓库:卫卫周大胖的学习日记💫💪关注博主和博主一起学习!一起努力!目录标题Linux下基础开发工具gdb调试方法1.启动gdb2.查看源代码3.运行程序4.设置断点5.查看断点信息6.执行下一行代码。7.查看变量8.退出gdbLinux下基础开发工具gdb调试方法程序的发布方式有两种,debug模式和release模式Linuxgcc/g++出来的二进制程序,默认是rele

Linux:查看服务器信息,CPU、内存、系统版本、内核版本等

还是最近工作的总结,在做一些性能验证,这就需要要根据服务器的配置综合考虑来做进一步的结论论证,废话不多说目录查看Linux内核版本查看Linux系统版本CPU查看CPU信息(型号)物理CPU个数每个物理CPU中core的个数(即核数)查看逻辑CPU的个数内存查看内存信息其他最后查看Linux内核版本第一种方式cat/proc/version第二种方式uname-a个人偏推崇第一种方式吧,能够更明显的看到版本和一些详细信息查看Linux系统版本第一种方式这个命令适用于所有的Linux发行版,包括Redhat、SuSE、Debian…等发行版。lsb_release-a第二种方式这种方法只适合Re

【Linux — 安装 Go】Linux 系统安装 Go 过程总结

下面记录在Linux环境中安装Go的过程,整个过程使用了FinalShell终端工具与Linux进行交互。Linux系统用户在终端执行【uname-a】先查看系统信息:64位系统显示如下:x86_64x86_64x86_64:这是你的机器的架构(这里是64位x86架构)。GNU/Linux:表示这是一个使用GNU工具的Linux系统。下面开始下载1.下载GO安装包先在Windows环境中访问Go官网,接着找到Linux版本go的64位安装包,下载链接:https://dl.google.com/go/go1.21.4.linux-amd64.tar.gz方式①可在Windows环境中直接下载,

Linux Bash Shell 脚本入门(2)——GNU

​LinuxBashShell脚本入门(2)——GNU目录LinuxBashShell脚本入门(2)——GNUGNU与LinuxGNUGNU的组成ShellGNOME桌面环境XWindow软件GNOME可点击内容,大部分来自维基百科,可以点击了解详情。GNU与LinuxGNUGNU操作系统起源于GNU计划,由理查德·斯托曼在麻省理工学院人工智能实验室发起,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。GNU的商标是一个牛羚头。原先版本是EtienneSuvasa所设计,而今比较流行的粗体版本则是AurelioHeckert所设计。GNU是一个自由的操作系统

Linux cpu dvfs机制

一、dvfs介绍主要作用是动态调整CPU的电压和频率,以在性能和功耗之间实现平衡。当CPU负载较轻时,可以通过降低电压和频率来降低功耗,延长电池续航时间;当CPU负载较重时,可以通过提高电压和频率来提高性能,确保系统的响应速度。二、软件框架Linuxcpufreq(dvfs)框架主要包括cpufreqcore、governor、driver.1)cpufreqcorecpufreqframework的核心模块,和kernel其它framework类似,主要实现三类功能抽象调频调压的公共逻辑和接口,主要围绕structcpufreq_driver、structcpufreq_policy和str

linux安装opencv

安装1.准备工作1.1C/C++编译环境配置Linux系统下使用C++开发OPenCV项目,先要搭建C/C++开发环境在终端输入:sudoaptinstallgccsudoaptinstallg++安装C/C++编译器GCC、G++或者安装build-essential,安装了该软件包,编译c/c++所需要的软件包也都会被安装。sudoaptinstallbuild-essential安装cmake编译工具sudoaptinstallcmake1.2安装相关依赖库安装libgtk,GTK(GIMPToolkit)是一个Linux平台下基于Xwindow图形窗口的图形用户编程接口工具,可以借助它