杂项
文章平均质量分 59
侵蚀昨天
https://mp.weixin.qq.com/s/2f8b5pAwEZ6lnpiITZhakQ
展开
-
vmware安装ubuntu22.04无法和window主机拷贝文件处理
vmware安装ubuntu系统一般安装了vmware tools就能实现和主机相互拷贝文件,但是ubuntu22.04失败了,原因是新版本呢ubuntu(22.04,20.04等)默认启用了新版的窗口系统Wayland而非原来的X11,而vmware tools没有支持这个特性(文件/etc/gdm3/custom.conf 中 WaylandEnable=false 打开。2、重启GDM服务sudo systemctl restart gdm3 或者直接reboot。1、禁用Wayland。原创 2023-10-11 13:50:27 · 892 阅读 · 1 评论 -
ELF文件格式解析
ELF格式分析原创 2023-07-11 11:15:21 · 4575 阅读 · 0 评论 -
fp32和fp16之间转换
fp16、fp32转换原创 2023-02-28 16:55:47 · 6193 阅读 · 0 评论 -
函数调用过程栈帧变化
某个函数运行时,机器需要分配一定内存去进行函数内的各种操作,这个过程包括将数据和控制从代码的一部分传递到另一部分,分配的这部分就是栈帧,栈帧其实就是是一段有界限的内存空间,它为函数局部变量分配空间,退出该函数时释放这些空间,回到调用它的地方执行下一条指令。栈的作用:传递参数、局部变量分配、保存调用的返回地址、保存寄存器以供恢复上一栈帧了解程序在内存中分布的都知道,栈是从高地址向低地址延伸的,每个函数的调用,都有它自己独立的一个栈帧栈帧主要是有下面2个指针工作ebp:帧指针...原创 2022-02-22 14:43:29 · 1091 阅读 · 0 评论 -
linux内核态和用户态调试
调试原创 2022-02-16 14:24:35 · 695 阅读 · 0 评论 -
Ubuntu 16.04安装配置NFS实现开板板挂载pc目录
ubuntu16.04/ubuntu18.04安装配置nfs实现挂载共享目录原创 2022-02-16 13:48:22 · 670 阅读 · 0 评论 -
ubuntu16.04找不到libgtk-x11-2.0.so解决方法
解决方案:需要安装32位的库,命令如下:apt-get install libgtk2.0-0:i386如果出现类似下面的错误E: Unable to locate package libgtk2.0-0E: Couldn't find any package by regex 'libgtk2.0-0'那么还需要使用下面的命令打开32位支持功能,支持后重新安装gtk库sudo dpkg --add-architecture i386sudo apt-get update如果想删原创 2020-10-27 08:40:05 · 1607 阅读 · 0 评论 -
交叉编译sysstat工具(mpstat、iostat、sar等)
linux下经常需要分析cpu占用率、io使用情况、内存使用情况等系统相关状态,sysstat是一个工具包,里面集成了很多条工具命令。有的嵌入式设备中不带sysstat里面的命令,这个时候就需要我们根据开发板的编译链手动编译一下就可以使用了。iostat - 提供CPU统计,存储I/O统计(磁盘设备,分区及网络文件系统)mpstat - 提供单个或组合CPU相关统计pidstat - 提供Linux进程级别统计:I/O、CPU、内存等sar - 收集、报告、保存系统活动信息:CPU、内存、磁盘、中原创 2020-10-10 17:38:20 · 3054 阅读 · 0 评论 -
linux中创建python virtualenv虚拟环境
背景:我们在开发过程中经常开发A需要这个python2.7,开发B需要python3.5,而且有很多相同但是不同版本的依赖包,这个时候虚拟环境virtualenv就派上用场了,anaconda3也有同样的功能,但是它比较大功能也更加全面,对于我个人来说直接使用virtualenv更加便捷一点。下面介绍一下基本步骤1、安装virtualenv环境sudo apt install virtualenv2、创建工作目录及创建运行环境mkdir py_work && cd py_work原创 2020-09-25 15:42:47 · 998 阅读 · 0 评论 -
名字太长辣眼睛,ubuntu如何设置不显示用户和本机名?
有时候在linux下进入到某个很深的目录中,光路径都能占一行,看起来及其尴尬,又或者需要截图出去,但是又不想暴露过多信息,一般操作就是截图后再马赛克掉,类似下面这样现在有一种十分简单的方法# sudo vi /etc/bash.bashrc修改、添加如下#原来效果是这样:\u 用户名 \h 主机名export PS1="\u@\h#" #那么我们可以改成export PS1="test@local# " 就变成这样了当然你也可以改成其他的,看起来很清爽。...原创 2020-08-14 10:32:18 · 1891 阅读 · 0 评论 -
linux下解决pip [Read timed out] 的方法
修改~/.pip/pip.conf (如果没有该目录、文件,则新建一个)增加内容如下[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host = https://pypi.tuna.tsinghua.edu.cn另外还有一些其他的源阿里云 http://mirrors.aliyun.com/pypi/simple/豆瓣 http://pypi...原创 2020-07-09 22:32:33 · 760 阅读 · 0 评论 -
【linux】u盘挂载到linux出现Structure needs cleaning解决办法
插入U盘后打开该盘错误如下:解决办法从图可以看到u盘空间位于/dev/sdb2分区所以执行sudo fsck -vcfy /dev/sdb2ps:fsck 是检查和修复linux文件系统的工具,具体用法可以查看man...原创 2020-04-29 17:57:21 · 2073 阅读 · 0 评论 -
【vs2015】如何在vs中指定dll目录
平时我们调用三方动态库的时候一般是把dll库放在exe的同级目录,这样是ok的,但是有时候我们为了目录的整洁干净需要把所有三方库放在一个统一的目录下,就需要在属性中指定路径,网上搜索了若干方法,最后是在stackoverflow中找到一个有效的解决方案,供参考。右键项目->Properties->Debugging->Environment,这个里面进行指定,...原创 2020-04-22 10:00:27 · 2090 阅读 · 0 评论 -
嵌入式设备系统有无操作系统的区别
随着通信、电子物联网的飞速发展,每天都有各种各样的芯片被研发出来,而要想知道这些芯片怎样工作以及工作后的作用,则离不开软硬件工程师的努力,任何一个计算机系统都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,没有软件的硬件是一堆废铁,硬件是软件运行的基础。软件上所有操作最终都会被硬件以硬件工作的时序进行工作,硬件建造出来是固定的,而软件则很灵活,可以根据场景适应多种应用,两者相辅...原创 2019-10-28 10:37:28 · 6174 阅读 · 0 评论 -
浮点数在内存中存储方式
浮点数在内存中的存储方式为:符号位+指数+尾数原创 2018-10-15 22:54:55 · 5518 阅读 · 0 评论 -
source和export区别
背景:当我们启动linux后,将启动一个用户shell,在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序,运行shell脚本时,系统将创建一个子shell用来执行,每个shell都是由某个shell(称为父shell)派生的#a.sh#! /bin/shecho “hello world!”echo "PID of this script: $...原创 2018-10-30 11:49:07 · 4209 阅读 · 0 评论 -
Linux线程优先级及属性小结
介绍同一进程中的多个线程如何保持数据的私有性Linux内核的几种调度策略: 1.SCHED_OTHER 分时调度策略 2.SCHED_FIFO 实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃 3.SCHED_RR 实时调度策略,时间片轮转。当进程的时间片用完,系统将重新分配时间片,并置于就绪...转载 2018-11-15 00:10:02 · 7914 阅读 · 0 评论 -
.svn文件太大解决办法
svn下载代码后一段时间.svn文件会很大,包含了各种备份文件,但是如果直接删除.svn文件里的内容的话再执行svn命令又会报错,所以我们可以采用tortoiseSVN自带的cleanup为文件夹瘦身操作步骤:右键svn文件夹 ---> clean up ... ---> 勾选清理工作副本的状态(clean up working copy status) 以及清理原始副本...原创 2018-11-02 13:40:09 · 52705 阅读 · 7 评论 -
大小端模式
一、大小端大端模式:内存高地址存放低字节小端模式:内存低地址存放低字节例如:Uint32 i = 0x12345678 地址 大端 小端 0x00 12 78 0x01 34 56 ...原创 2018-07-08 18:07:21 · 11961 阅读 · 0 评论 -
C/C++常见gcc编译链接错误解决方法
除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例:-Wl,-Bstatic -lmysqlclient_r -lssl -lcrypto -Wl,-Bdynamic -lrt -Wl,-Bdynamic -pt...转载 2018-11-14 23:31:13 · 10158 阅读 · 0 评论 -
linux下x86和arm架构区别
x86和arm的比较问题:两款主频差不多的芯片的移动端平板设备,一个是x86的因特尔i5,一个arm,x86耗电量会大,发热也严重分析:1、x86和arm架构定位不同,arm基于精简指令(RISC),本身定位于嵌入式平台,简化了硬件逻辑的设计,减少了晶体管,从而降低功耗,流水线等控制并不复杂,进一步降低了晶体管数量,主要是面对轻量级的、目标明确单一的程序,所以主要都是移动端使用;而x8...转载 2018-12-24 16:26:04 · 16975 阅读 · 0 评论 -
gdb调试使用小结
gdb安装一般linux系统中都安装好了,如果没有可以使用下面命令#:apt-get update#:apt-get install gdbgdb使用一般要使用gdb调试某个程序,都需要程序中带了符号表,这样才能清晰的看到调试的每一行代码、调用的堆栈信息、变量名、函数名、寄存器、内存信息等,所以使用gcc编译程序时,需要加上 -g 选项:gcc test.c -g -...原创 2019-01-27 00:06:53 · 680 阅读 · 0 评论 -
【C++】寻找目录中的文件并提取关键字
背景:目前debug过程中需要导入很多素材,如果代码中直接写死比较麻烦且耗时,所以比较好的办法就是材料放在某目录中,由程序自动检索所有符合后缀的文件,然后进行操作。void Find(const char* lpPath, std::vector<const std::string> &fileList){ char szFind[MAX_PATH]; W...原创 2019-08-29 16:07:23 · 1247 阅读 · 0 评论 -
__attribute__((weak)) 简介及作用
最新在看项目新架构代码上看到了有使用到weak,以前没有看到过,所以写一篇文章以作记录。场景:A,B两个模块,A模块调用了不确定B模块是否提供了函数,但是又不得不调用,这个时候在A模块中再申明一个弱符号函数,即用weak,如果外部提供了调用外部的,如果没提供调用申明的。 弱符号:若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak属性,则这些全局符号不会引...原创 2018-10-13 11:49:25 · 21508 阅读 · 2 评论