自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 记录linux下找不到core file的问题

linux在/etc/security/linux.conf可以配置核心转储文件大小,对于Ubuntu如果是图形登录则在/etc/systemd/user.conf和/etc/systemd/system.conf修改;也可以ulimit -c unlimited临时修改;但是最近的Ubuntu配置后仍不能生成core-file,cat /proc/sys/kernel/core_pattern发现内容为|/usr/share/apport/apport %p %s %c %d %P %Eappor

2022-05-17 19:02:19 382

原创 记录Android Studio的代理的一个bug

服气这垃圾玩意,在IDE settings取消代理不起作用,非要到C:/USERS/${username}/.gradle/gradle.properties把那几行代理删了才行,否则一直是connection refused(vpn似乎最近出了点问题必须取消代理)然后就能下载了,我按网上删了缓存都没用结果是图形界面设置不起作用,严重批评这种垃圾交互逻辑,让人迷惑!!!!!...

2022-05-16 13:26:11 241

原创 gdb调试进程卡死的问题

服务器莫名有时会卡死,且用valgrind drd发现不是加锁问题,可以用gdb attach调试,但attach后显示代码入口为deadbeaf/0:gedit vim /etc/sysctl.d/10-ptrace.conf最后一行改为kernel.yama.ptrace_scope = 0注意attach后更换线程需要detach开始时以为是程序死了gdb都控制不到,但后来想gdb的控制显然是与程序是否卡死无关的参考...

2022-05-15 09:46:36 1443

原创 记录一次Android Studio import项目的bug

做毕设安卓端时,之前的项目明明都开发完了,新安的Android Studio gradle却怎么也sync不了,时间紧迫没有时间阅读手册,花了五个小时用试错法发现问题:在右下角的event log,如果使用jdk 1.8提示 Gradle sync failed: Cause: invalid type code: 00 (625 ms)改为jdk 11提示gradle 3.3与jdk 11不兼容,分析要么改jdk,要么把上面warning解决,查上面warning的一个解决办法是在peripher

2022-05-12 04:47:35 1777

原创 linux把文件系统格式化成fat

网上查的mkfs -t ext4 /dev/sdb1似乎不支持fat;sudo mkfs.vfat -F 32 /dev/sdb1 (12,16,32)格式化成extfat:sudo apt install exfat-fuse exfat-utilssudo mkfs -t exfat /dev/sdb1注意fat16最大支持2GB,分区太大无法格式化成功...

2022-05-08 11:55:34 732

原创 opencv安上后编译运行的奇怪问题

这是网上剽的一段基于opencv的人脸识别项目,原来跑在树梅派是OK的,服务器安完后直接跑居然出问题#include <opencv4/opencv2/core/core.hpp>#include <opencv4/opencv2/imgproc/imgproc.hpp>#include <opencv4/opencv2/opencv.hpp>#include <vector>#include <cstdio>using names

2022-04-29 20:26:30 2551

原创 dpkg强制卸载

dpkg的一个强制卸载的方法安mysql的时候因为玄学国家防火墙,安到一般被阻断了,再卸的时候各种依赖不对,dpkg -r/-P怎么都卸不掉,提示有依赖卸载包的东西,找到一个 --force-all就可成功卸载了,但有的包可能出现缺少依赖的情况,最好还是不要烦躁看清楚依赖关系!另外apt autoremove千万别随便用,可能把系统的基本组件也给你卸掉...

2022-04-07 23:51:04 14638

原创 记录c++ template的奇怪语法问题

1.模板函数不能是虚函数这个还可以理解,参考c++模板函数可以是虚函数吗如果模板函数是虚函数,会严重降低编译器处理效率,可以知道C++连类的声明顺序都是严格要求的,这样的语法更不能允许了。2.模板函数和偏特化(1)经过测试:普通模板函数支持偏特化;(2)非内联类的模板函数支持偏特化;(3)内联类的模板函数不支持偏特化#include <iostream>using namespace std;class father{ public: templa

2022-03-23 15:27:52 1127

原创 pythonnet安装和使用

pythonnet是python调用c#的包,在ubuntu下比较难安,容易出问题:(注意 不要到github上直接下载,安了安不全还得卸掉,附卸的方法python setup.py install --record files.txtcat files.txt | xargs rm -rf )安装set1.安装Monosudo apt updatesudo apt install dirmngr gnupg apt-transport-https ca-certificatessud

2022-03-21 19:58:42 1792

原创 卸载l了xserver-xorg-input-all的情况下如何重装(鼠标键盘失灵怎么办)

参考:Ubuntu 18.04 鼠标+键盘突然失效为原bo主献上深深的感谢与敬意!

2022-03-21 19:50:23 659

原创 python调c的3种方式

python调用c/c++提高效率

2022-03-11 17:18:24 1277

原创 make_shared的优点

写的太好了https://www.jianshu.com/p/03eea8262c11

2022-03-03 19:21:32 140

原创 Cmake安装自己的能被find_package找到的模块

生成cmake可用find_package找到的库

2022-02-10 14:54:38 1035

原创 CMake和makefile批量编译的方法

makefile和cmake批量编译

2022-02-10 11:10:52 686

原创 git结构

Git 工作区、暂存区和版本库基本概念我们先来理解下 Git 工作区、暂存区和版本库概念:工作区:就是你在电脑里能看到的目录。暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:图中左侧为工作区,右侧为版本库。在版本库中标记为 “index”

2021-07-16 16:14:52 148 1

原创 记录Linux定位top软件包的方法

apt-file search可以定位某个文件所在的apt包,但直接search top出来一堆结果,技巧:搜索/usr/bin/top减小搜索范围搜到了procps是我电脑上的top包源procps

2021-06-30 10:56:09 174

原创 32位和64位的交叉编译链

64位: aarch64-linux-gnu-32位:arm-none-eabi-

2021-06-24 15:40:25 452

原创 Ubuntu下的一次捕捉键盘输入的实验

之前一直奇怪应用程序是如何得到键盘输入的,首先这肯定与键盘的驱动程序有关,但驱动程序是如何把键盘输入传递给用户进程的?这个问题在用了windows下一个按键精灵后达到了顶峰,该案件精灵使用一个脚本表达模拟发送的键盘按键和鼠标移动,之后可以自动进行操作,这说明上层应用有操作鼠标键盘的能力.查找资料后,发现原来对于linux,鼠标和键盘驱动是这样写的:鼠标\键盘的输入会转为/dev/input下的io事件event*,设备对应的event号可通过cat /proc/bus/input/devices查看.比如

2021-06-10 11:25:34 1077 2

原创 国内安装gopkg

国内安装gopkg在vscode直接安会失败,需要配置国内源centos7下export GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,directgo get -v github.com/uudashr/gopkgs/v2/cmd/gopkgs

2021-05-15 22:45:18 264

原创 git reset and git diff

git diffgit diff filexcompare contents in workspace and folder space,b means folder space and a means workspace,+ means more and - means less.git logwatch commit history.Note that git pull or git clone will obtain project’s history record.

2021-02-19 18:15:39 83

原创 调整任务堆栈大小

linux下任务堆栈可以在/etc/security/limits.conf中控制每个进程打开文件描述符的最大数量和堆栈数量,重启后生效;在/etc/sysctl.conf中控制系统打开最大文件描述符的数量fs.file-max,sudo sysctl -p生效最大堆栈设置不合理,数组过大(比如400M)会产生错误,设置正确后运行正常windows下加编译参数-Wl,–stack=1677721600 (1600M)以下代码在windows跑会崩溃#include <iostream&

2020-12-30 15:19:43 779 1

原创 在centos7下安装gcc9.3的一点感悟

只是安个最新版gcc,没想到经历了痛苦的过程,好在终于安上了。。。第一个遇到的问题是提示不存在<bits/c++config>,在/usr中查找发现某个文件夹是有这个头文件的,而且通过gcc命令知道该文件夹也在gcc的包含路径中,但是为什么硬是提示找不到没有弄明白,解决完全是碰巧把这个文件夹下的头文件cp到了gcc安装文件夹的include目录下,之后居然不报错了。。。第二个遇到的问题是提示include中的basename导致string.h中旧的定义混淆,原先我尝试了把/usr/incl

2020-12-28 02:59:10 704 1

原创 centos7安装mondo rescue

[mondorescue]name=centos 7 x86_64 - mondorescue Vanilla Packagesbaseurl=ftp://ftp.mondorescue.org//centos/7/x86_64enabled=1gpgcheck=0gpgkey=ftp://ftp.mondorescue.org//centos/7/x86_64/mondorescue.pubkey从官网下载的repofile有两点要注意:1.除了拷贝到/etc/yumrepo.d/外,还要注

2020-12-15 14:27:29 825

原创 把自己的系统打包成镜像,并在docker上启动

1. tar --numeric-owner --exclude=/proc --exclude=/sys -cpzvf centos7-bak.tar /这一步是把根目录打包,注意要还要把你在的目录exclude2.docker import centos7-bak.tar3.docker images 查看导入的image的id4.docker run -it image-id /bin/bash5.这样就跑起了,注意如果想跑mysql服务第一种可以直接mysqld跑,第二种:由于docker

2020-12-13 20:42:21 2260

原创 linux打印目录机构

tree命令,windows和linux都可,linux需要先安,注意.md中要加换行

2020-12-10 17:21:19 120 1

原创 linux文件权限的理解

如果用户的有效用户id等于文件的用户id有u的权限,或者用户在文件的组id的组中有g的权限,否则只有o的权限。在设计文件服务器时(为了setuid以root运行),没有必要setgid,同时除非用户时root用户,当用户在某组时,才能setgid成功,注意特权进程要先setgid再setuid.usermod -g groupname username可以把用户的主组改为groupname,usermod -G groupname username可以把用户加入groupname组,注意不要直接在/etc

2020-12-10 17:20:17 86

原创 对makefile和.PHONY的一些理解

makefile首先会把其遇到的第一个目标作为主目标;makefile会依次完成被主目标依赖的目标。makefile尽力做到一点:make时只加入有改动的部分,这是通过如果主目标依赖的目标为一个文件,如果该文件已生成,那么检查目标依赖文件,如果依赖文件未更新,不进行改动,否则链接入更新;这说明若想做到makefile的最小更新,依赖文件需要是精确的编译出的.o文件名,否则make会认为目标未生成而每次都执行命令(已实验)。这样如果对于Make target,如target为clean,make发现clea

2020-12-06 20:54:29 236

原创 nfs网络挂载制作服务器镜像

1.新服务器开启nfs服务链接:配置nfs2.nfs命令用法链接:nfs命令3.出错时查看日志cat /var/log/messages | grep mount4.配置nfs服务器方法链接:主要是/etc/exports的配置5.挂载系统镜像在本地挂载到nfs的文件夹,就会挂载到远端服务器(因为本地容量有限,无法再挂载一个满盘)注意由于至少需要50G,需要对nfs服务器扩容,链接:阿里云磁盘扩容教程扩容后就可以制作镜像,并利用挂载特性和制作命令把镜像传输到远端了链接:腾讯云镜像制作

2020-11-24 13:39:54 1031 5

原创 C语言在底层如何对double和float压栈

一直很疑惑为什么printf可以用%f输出double和float类型,因为一个是8字节一个是4字节,如何正确弹出堆栈呢?在阅读arm汇编码后发现:1.可变长度参数列表前必须有1个参数,从该参数就开始压栈了,并且压栈从右向左进行也是与该机制对应;(最后压左边,这样对于满递减堆栈,sp地址上就是可变参数之前的先行参数,在vprintf前不需知道传了几个)2.对于float,也会压8个字节,double压的8个字节全部有意义,float会压4个无意义字节后才压4个有意义字节,这个无意义字节经测试不是随便生

2020-11-23 21:43:50 255 2

原创 linux下新建用户的一个奇怪bug

在编写oracle给的pam的测试例程时,发现getgrnam()函数get到root组或我的用户组时为空,打开/etc/group文件发现root组中确实没有root,虽然用groups root命令可以看到root主要组是root,但是恐怕该命令是通过/etc/passwd文件判断的,不知道linux系统为什么这样设计;如果想让yxt属于yxt组被与组有关的api读到,需要在/etc/group中手动修改,或者:gpasswd -a username groupname 把用户username加入到gr

2020-11-14 01:30:14 77

原创 ubuntu18打系统log的方法

logger this is a test log line之后就可以在/var/log/syslog最下面一行看到了;syslog函数也会像该文件打log

2020-11-13 19:57:41 700

原创 linux安装pam库

linux安装pam库centossudo yum install pam-devalubuntusudo apt-get install libpam0g-dev

2020-11-13 12:20:39 5236 2

原创 windows下ftp无法启用被动模式

使用ftp命令行连接公网服务器时,只能使用passive mode,解释但是windows下虽然可以quote passive,连上了是无效的,网上说windows命令行原生ftp根本不支持passive mode,开启虚拟机后,linux下命令行ftp直接passive mode即可进入passive mode(linux下不要quote pasv没有用)...

2020-11-07 21:01:55 3541

原创 centos下搭建vncserver

1.安装vncservercsdn收藏夹启动vncserver vncserver :2注意:连接时ip:22.安装centos图形界面https://jingyan.baidu.com/article/19020a0a5b1b88529d28423b.htmlhttps://my.oschina.net/Kanonpy/blog/18378563.修改vnc配置文件https://blog.csdn.net/weixin_39278265/article/details/104221023

2020-11-07 10:43:07 172

原创 centos7 nginx配置php

centos7 nginx配置php:网上的教程中需要注意的问题有:首先是配置上root 你存放php目标的文件夹;fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/tmp/php-cgi.sock; include fastcgi.conf;而不需要再设置include fast_params以及下面的两句定义了,如果有fastcgi.conf就只用包含这一个文件,这是nginx版本的区别;另外如果想在html中内嵌ph

2020-10-23 01:48:20 147

原创 makefile出问题:无法检测文件的更新

makefile出问题:无法检测文件的更新all:message ClientMessagemessage:messageDeal.o gcc messageDeal.o -o message -lpthreadlWs2_32ClientMessage:ClientMessage.o gcc $< -o $@%.o:%.c gcc -c $< -o $@clean: -rm *.o message.exe ClientMessage.exe.PHO

2020-10-13 20:37:08 480

原创 windows下vscode提示检测到 #include 错误。请更新 includePath。已为此翻译单元(C:\Users\86132\桌面\CLASS\机房监控\源码\代码汇总\测试程序\co

windows下vscode提示检测到 #include 错误。请更新 includePath。已为此翻译单元(C:\Users\86132\桌面\CLASS\机房监控\源码\代码汇总\测试程序\connectiontest.c)禁用波形曲线。C/C++(1696)在包含pthread.h时出现上述问题,用gcc -v -E -x c whatever.c后输出的includePath是c:\mingw\bin…/lib/gcc/mingw32/8.2.0/includec:\mingw\bin…/l

2020-10-10 17:53:23 16389

原创 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE tha

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.在mysql workben直接执行SET SQL_SAFE_UPDATES = 0即可.

2020-10-09 23:23:17 103

原创 记录一个超级乌龙的智障bug,也许能帮助类似我的白吃

记录一个超级乌龙的智障bug,也许能帮助类似我的白吃。。。测试cjson库时把test.cpp编译名为test,gdb运行有输出正常运行却无输出,一直以为是程序有问题,然后才发现我在终端输入的是test而不是./test…不知道为什么/bin里有test这个东西,所以才。。。要注意这个啊我擦...

2020-10-08 19:08:48 106

原创 error: cannot open source file “bits/c++config.h

Centos7.8第一次写cpp的一个bugerror: cannot open source file "bits/c++config.h解决方法

2020-10-07 20:36:15 2473 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除