![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LINUX
文章平均质量分 74
curry dog
自然语言处理
展开
-
error: ‘getCurrentCUDAStream’ is not a member of ‘at::cuda’ cudaStream_t stream = at::cuda::getCurre
Trytomodifythefollowingcontentinthefileswhichprompttheerrorsabove.#include//#include#include#include#include“ball_query_gpu.h”//externTHCState*state;原创 2022-07-25 18:13:59 · 2348 阅读 · 0 评论 -
lightdm 循环登录问题
问题描述:可以用root登录 但是普通用户登录不了解决方法: 应该是权限问题,所以使用命令chown -R 用户 /home/用户原创 2022-01-12 19:07:05 · 571 阅读 · 0 评论 -
windows通过xrdp远程连接ubuntu桌面
sudo apt-get install xrdp安装vnc4serversudo apt-get install vnc4server安装xubuntu-desktopsudo apt-get install xubuntu-desktop向xsession中写入xfce4-session(每个用户自己运行此行)echo "xfce4-session" >~/.xsession开启xrdp服务sudo service xrdp restart查看ip地址其实你能连接至服务原创 2021-11-30 01:22:27 · 2169 阅读 · 0 评论 -
wmware ubuntu 黑屏 循环登录
问题描述不小心在wmware 的ubuntu 中安装了nvidia驱动 导致gdm3使用不了并且sudo dpkg-reconfigure gdm3 报错解决方法按shift进入grub 然后进入recovery modesudo apt-get purge nvidia*sudo apt install lightdmsudo dpkg-reconfigure lightdm...原创 2021-11-01 21:33:21 · 117 阅读 · 0 评论 -
web后台笔记
可重入函数可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等...原创 2021-10-03 16:28:26 · 238 阅读 · 0 评论 -
makefile 学习
target ... : prerequisites ... commandprerequisites 中如果有一个以上的文件比 target 文件要新的话, command 所定义的命令就会被执行。这就是 Makefile 的规则。也就是 Makefile 中最核心的内容。只要 make 看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中,如果 make 找到一个 whatever.o,那么 whatever.c,就会是 whatever.o 的依赖文件。并且 cc -cwhat原创 2021-05-10 23:20:41 · 178 阅读 · 1 评论 -
Linux 语法杂记
installinstall -d /qq/aa #-d会创建从qq到aa之间的所有主目录,-d选项只能用来创建目录,不能复制。install -D aa.txt /qq/aa #-D不仅会创建从qq 到aa的所有主目录,还会把aa.txt文件复制到新创建的aa目录下...原创 2021-09-15 22:55:05 · 345 阅读 · 0 评论 -
nginx 学习笔记
内存池struct mp_large_s { struct mp_large_s *next; void *alloc;};struct mp_node_s { unsigned char *last; unsigned char *end; struct mp_node_s *next; size_t failed;};struct mp_pool_s { size_t max; struct mp_node_s *current; struct mp_large原创 2021-09-15 20:44:42 · 42 阅读 · 0 评论 -
操作系统笔记2
Linux(smp)中断在对称多处理(smp)下,传统的8259A中断控制器被升级成了APIC(高级可编程中断控制器)。APIC分为本地APIC和全局APIC,通过专有的总线通讯。每个CPU配备一个本地APIC并且由自己的时钟中断,当外部有中断请求时,全局APIC可以决定发给某一个本地APIC或全部的本地APIC。调度在smp系统中,pcb需要添加has_cpu和processor属性,分别表示是否在运行和在哪个cpu上运行,当某个cpu在schedule()中切换到next进程是,就将n原创 2021-07-28 19:37:43 · 197 阅读 · 0 评论 -
c++排序和红黑树
红黑树1.节点分为红色或者黑色;2.根节点必为黑色;3.叶子节点都为黑色,且为null;4.连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点);5.从任意节点出发,到其每个叶子节点的路径中包含相同数量的黑色节点;6.新加入到红黑树的节点为红色节点;插入Case 1当前节点的父节点是红色,且当前节点的祖父节点的另一个子节点(叔叔节点)也是红色。(01) 将“父节点”设为黑色。(02) 将“叔叔节点”设为黑色。 (03) 将“祖父节点”设为“红色”。 (原创 2021-06-26 16:11:48 · 294 阅读 · 0 评论 -
CMU 15445 数据库设计
hash扩容的过程就是针对每一个h(key)重新对第一维数组容量取余。假设容量从8增加到16,那么原来3号槽位保存的哈希值3(0x0011)和11(0x1011)被各自分配到3号和11号槽位。特性: 如果采用高位进位的顺序遍历槽位,假设当前遍历到 110 这个槽位,这时从容量8扩容到容量16后,110槽位上所有的元素对应的新槽位是 0110 或1110,是相邻的,并且0110前的所有槽位在容量8时已经遍历完了...原创 2021-06-09 09:59:05 · 1975 阅读 · 2 评论 -
CS 144 计算机网络
UNIX 自带socketint socket(domain, type, 0)domain 值可取AF_INET、 AF_INET6 、 AF_LOCAL 。 AF_INET决定了要用 ipv4 地址 ( 32 位) 与端口号( 16 位)的组合 、 AF_LOCAL 决定了要用一个绝对路径名作为地址 。 TYPE决定了协议类型,SOCK_STREAM表示TCP,SOCK_DGRA表示UDP。成功返回一个文件描述符。getsockoptint getaddrinfo(const char res原创 2021-06-08 15:55:46 · 394 阅读 · 0 评论 -
CLION 从脚本中调试c++ 程序
问题描述在以下webget_t.sh脚本中调用了可执行程序webget#!/bin/bashWEB_HASH=`./apps/webget cs144.keithw.org /hasher/xyzzy | tee /dev/stderr | tail -n 1`CORRECT_HASH="QWx0NhMPkoM/bJr/ohvHXlviFhOyYrYb+qqdOnwLYo4"if [ "${WEB_HASH}" != "${CORRECT_HASH}" ]; then echo ERR原创 2021-05-31 22:29:52 · 482 阅读 · 1 评论 -
CSAPP 笔记( bomb lab)
待重定位文件的elf中只包含节(section), 除了.data, .text,.bss外有几个特殊的节字符串表(String Table)字符串表节区包含以 NULL(ASCII 码 0)结尾的字符序列,通常称为字符串。ELF 目标文件通常使用字符串来表示符号和节区名称。对字符串的引用通常以字符串在字符 串表中的下标给出。一般,第一个字节(索引为 0)定义为一个空字符串。类似的,字符串表的最后一 个字节也定义为 NULL,以确保所有的字符串都以 NULL 结尾。索引为 0 的字符串在 不同的上原创 2021-03-08 01:08:18 · 650 阅读 · 1 评论 -
编译原理 龙书 笔记
DFA NFADFA的定义:A = ( Σ, S, s0, F, N )Σ: 输入字母表(alphabet),是一个输入字符的集合。S:状态的集合s0:初始状态F:终止状态集合 F ⊆ SN:转换公式 N:S×Σ → SNFA(Non-Deeterministic Finite State Automata)不确定的有穷自动机: 对一个输入符号,有两种或两种以上可能对状态,所以是不确定的NFA可以转换成DFA,NFA和DFA的主要区别在于:DFA没有输入空串之上的转换动作;对原创 2021-01-04 00:43:36 · 1644 阅读 · 0 评论 -
linux64 编译32位扩展汇编
修改test.c#include <stdio.h>void main() {int ret_cnt = 0, test = 0;char* fmt = “hello,world\n”; // 共 12 个字符asm(".code32;pushl %1; call printf; addl $4, %%esp; movl $6, %2" :"=a"(ret_cnt) :“m”(fmt),“r”(test) );printf(“the number of bytes wri原创 2020-12-30 01:23:16 · 136 阅读 · 0 评论 -
找不到cannot find -lfuse
sudo apt-get install -y libfuse-dev原创 2020-12-21 18:24:15 · 253 阅读 · 0 评论 -
nginx源码编译后配置文件不起作用
问题描述:根据cmakelists来编译nginx,方便在clion中打开cmake_minimum_required(VERSION 3.6)include_directories( . src/core src/event src/event/modules src/os/unix objs src/http src/http/modules)set(SOURCE_FILES objs/ngx_modules.c src/core/ngin原创 2020-12-14 14:00:28 · 226 阅读 · 0 评论 -
操作系统真相还原笔记
bochs 使用编译汇编代码。nasm -I include/ -o mbr.bin mbr.S 将生成的 mbr.bin 写入我们的虚拟硬盘dd if=./mbr.bin of=/your_path/bochs/hd60M.img bs=512 count=1 conv=notrunc 同理将loader.bin写入硬盘nasm -I include/ -o loader.bin loader.S && dd if=./loader.bin of=./hd60M.img原创 2020-12-01 19:56:16 · 1436 阅读 · 0 评论 -
编码
utf8,1,32大小端问题UTF-8 中有一字节的情况,这种情况,就没有两端的说法了。至于另外的二,三,四字节情况,以三字节为例,如果你一定要弄出端法,也不是说不可以,比如,小端法就是“小-中-大”,大端法就是“大-中-小”。但现实情况是 UTF-8 仅仅采用了一种端法,就是大端法。...原创 2020-11-29 12:14:04 · 246 阅读 · 0 评论 -
centos 集群
网络配置首先要设置宿主机和虚拟机的静态 ip,并且要实现 3 个方向能够 ping 成功:1 宿主机 ping 虚拟机2 虚拟机1 ping 虚拟机 23 虚拟机 ping 因特网根据我们要实现的目标我们可以使用 Bridged 方式设置一张网卡,或者使用 Host-only 和 NAT 方式设置两张网卡。NAT第一步:打开virtualbox -》 管理 -》 全局设定 -》 网络 -》 新建一个网卡(默认名称为NATNetwork)-》 双击NATNetwork网卡 -》启用网络 -》原创 2020-11-29 12:13:03 · 212 阅读 · 0 评论 -
mongodb 学习
打开(副本集)mongod --port 27017 --dbpath "/home/wby/mongo_data2/" --replSet rs0ongod --port 27018 --dbpath "/home/wby/mongo_data2/" --replSet rs0以上实例会启动两个MongoDB实例,其端口号为27017和27018。mongo --host 127.0.0.1:27017连接本地实例27017连接端口号为27017的Mongo服务后,在客户端命令窗口使用r原创 2020-11-29 12:12:50 · 125 阅读 · 0 评论 -
c++ 无锁队列
class Queue{private: struct qnode<ElemType> *volatile _head = NULL; // 随着pop后指向的位置是不一样的, head不是固定的 struct qnode<ElemType> *volatile _tail = NULL;public: Queue() { _head = _tail = new qnode<ElemType>; _head->_next =原创 2020-11-23 19:34:40 · 783 阅读 · 0 评论 -
lunux 普通用户永久root权限并用ssh登录
第一步修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:tommy:x:500:500:tommy:/home/tommy:/bin/bash 修改后如下tommy:x:0:500:tommy:/home/tommy:/bin/bash 保存,用tommy账户登录后,直接获取的就是root帐号的权限第二步修改sshd以root身份,chmod +w /etc/ssh/sshd_configvi /etc/ssh/sshd_config将Pe原创 2020-11-12 12:03:56 · 143 阅读 · 0 评论 -
ubuntu nginx +fastcgi安装
准备第三方支持库源码:nginx-1.13.7.tar.gzopenssl-1.1.0g.tar.gzpcre-8.41.tar.gzzlib-1.2.11.tar.gz cd nginx-1.13.7./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_secure_link_m原创 2020-11-08 21:39:16 · 299 阅读 · 0 评论 -
centos 集群自动免密登录脚本
步骤:修改以下两个文件中的节点名和root密码,在主节点运行ssh_non_pwd_login.shssh_non_pwd_login.sh# !/bin/bashSERVERS="master node1 node2"PASSWORD=123456for SERVER in $SERVERSdo yum install -y expect # 批量创建文件夹 echo 'no this dir and then will create it.' expect -c "set原创 2020-11-08 13:22:55 · 376 阅读 · 0 评论 -
virtualbox kernel driver not installed
sudo rm /var/lib/dpkg/updates/*sudo apt-get updateapt-get install virtualbox-dkms原创 2020-11-07 18:15:07 · 157 阅读 · 0 评论 -
debug gdb idea 调试
基本操作info b 断点信息g++ main.cpp test1.cpp test2.cpp -o test -ggdb test(gdb) set variable array[1] = 12假如你的断点正好停在了一个函数调用的语句那里,要是next的话,就会把调用语句当成一条语句,直接执行到调用语句的下一条语句。step的话,就会由这个调用语句进入该被调函数的函数体执行。如果断点文件不和main在一个文件夹则使用(gdb) directory ./test1/(gdb) b t原创 2020-10-23 15:52:45 · 799 阅读 · 0 评论 -
ubuntu 安装wechat
docker.io安装sudo apt updatesudo apt install docker.io -ysudo usermod -aG docker $USER # 创建组并加入当前用户下载脚本并执行bash <(curl -L -s https://raw.githubusercontent.com/ygcaicn/ubuntu_qq/master/wechat.sh)超时解决方法:在hosts文件中加入 # GitHub Start 52.74.223.1原创 2020-10-11 23:48:57 · 360 阅读 · 1 评论 -
linux 利用共享内存 在进程间传递图像
cmakelists.txtcmake_minimum_required(VERSION 2.8 FATAL_ERROR)project(test_share)find_package(OpenCV 3 REQUIRED)include_directories( ${CMAKE_CURRENT_LIST_DIR})message(STATUS ${CMAKE_CURRENT_LIST_DIR})file(GLOB_RECURSE mains ${CMAKE_CURRENT_SOURCE_原创 2020-09-13 20:40:53 · 545 阅读 · 1 评论 -
docker gpu环境
重启sudo systemctl restart docker原创 2020-08-31 10:09:22 · 114 阅读 · 0 评论 -
linu 查找大文件
find /opt/ -size +1G 2>/dev/null原创 2020-08-25 19:19:12 · 144 阅读 · 0 评论 -
ubuntu18 PCL安装
安装vtksudo apt-get install libvtk6-dev libvtk6-qt-dev安装 pclsudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pclsudo apt-get install sudo apt install libpcl-dev原创 2020-08-23 16:53:30 · 229 阅读 · 0 评论 -
linux 定时删除文件
clean.sh#!/bin/bashlogs_path=$1if [[ -z $2 ]]then days=0else days=$2fi find $logs_path -mtime $days -name "localhost.*.log" -exec rm -rf {} \;find $logs_path -mtime $days -name "localhost_access_log.*.txt" -exec rm -rf {} \;find $logs_path -m原创 2020-08-05 15:59:04 · 204 阅读 · 0 评论 -
linux 中文乱码
gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['GB18030', 'UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16'转载 2020-08-02 00:33:47 · 71 阅读 · 0 评论 -
笔记本 ubuntu18.04双系统
安装ubuntu18.04用ultralSO 制作启动盘在WINDOWS c盘所在的硬盘利用压缩卷分出200m用来安装EFI启动项安装ubuntu时进行手动分区,假设你留出的空闲分区为 80G,点击空闲盘符,点击"+“进行分区,如下:1)efi:如果是单硬盘,在唯一的一个空闲分区上添加,大小200M,逻辑分区,空间起始位置,用于efi;如果是双硬盘,找到事先分好的200M空闲分区添加,逻辑分区,空间起始位置,用于efi。这个分区必不可少,用于安装ubuntu启动项。以下步骤单双硬盘就一样了,都在那原创 2020-07-19 18:02:45 · 145 阅读 · 1 评论