Linux
文章平均质量分 59
zhouyongku
这个作者很懒,什么都没留下…
展开
-
Ubuntu虚拟机中网络中没有网卡
由于断电等异常操作 ,导致vmware的ubuntu系统连接不到网络,ping www.baidu.com 提示name or service not known查看网卡配置 vi /etc/network/interfaces 结果发现只有lo回环网卡。没有虚拟网卡。点开桌面配置 查看网络 ,显示如下:执行下面操作,即可恢复:sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkMa转载 2022-05-26 18:45:40 · 2847 阅读 · 6 评论 -
linux读取字符设备-键盘、扫码枪、二维码设备
原理:1.扫描/proc/bus/input/devices看你的设备是否在系统中2.解析cat /proc/bus/input/devices输出的信息,查看event的id3.根据event id去组装/dev/input/event你的id4.用open和read去读取event里面的输入5.将二进制数据翻译成字符,翻译方法:input-event-codes.h中的宏定义去匹配代码见下:#ifndef CQRDEVICE_H#define CQRDEVICE_H#i原创 2022-04-07 17:23:18 · 2011 阅读 · 0 评论 -
ssh远程连接ubuntu后UI在本地显示
DISPLAY=:0.0 qt界面不显示原创 2022-04-07 12:58:01 · 582 阅读 · 0 评论 -
linux 批量看门狗
linux bash 看门狗原创 2022-04-07 12:17:18 · 178 阅读 · 0 评论 -
设备发现协议SSDP实现
原理:1.将socket加入239.255.255.250,端口 19002.客户端:通过设置setsockopt +IPPROTO_IP,IP_ADD_MEMBERSHIP属性,可向ssdp组进行组播。3.服务端:通过设置绑定239.255.255.250:1900进行数据接收,通过setsockopt +IPPROTO_IP,IP_ADD_MEMBERSHIP属性 加入组播。容易错误的地方:服务端打印sendto成功,但是通过wireshark抓包发现没有组播发送到239.255原创 2022-04-06 12:05:16 · 2412 阅读 · 1 评论 -
Linux开机启动流程思维导图
本文转载自:linux开机启动流程-思维导图 - 昌北F4 - 博客园转载 2022-03-24 11:03:28 · 195 阅读 · 0 评论 -
C++计算性能优化
计算性能优化 c++程序性能优化原创 2022-03-16 15:53:45 · 2174 阅读 · 0 评论 -
解决Segmention fault的思路和方法
segmation fault解决方法原创 2022-03-09 09:26:50 · 4416 阅读 · 0 评论 -
linux栈调用原理
针对以下代码进行分析 1 #include<iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 5 int Calc( int a,int b,int c) 6 { 7 8 9 c=12; 10 b=11; 11 a=10;原创 2022-02-23 13:46:10 · 1113 阅读 · 0 评论 -
Linux C++面试常见问题
static_cast/dynamic_cast等四种转换深度优先和广度优先红黑树特征vector底层内存分配原理同步锁多种 自旋锁等锁 已回答mutex map event criticalsection还远远不够内存页管理机制c++多态实现的底层原理 非ftable函数栈调用原理 入栈原理和出栈原理 变量如何变化。内存碎片优化算法tcp原理算法类模板虚拟化hash算法和冲突解决算法内联函数是否可以为虚函数编写string实现类信号槽原理thread condition_变.原创 2022-02-21 20:56:12 · 1899 阅读 · 0 评论 -
GRPC协议兼容问题
最近因为GRPC协议兼容问题受困,于是做了一些实验来验证其原理proto文件syntax = "proto3";package IRPC;message REQHEADER{ uint32 nState=1; //校验位 表面数据类型,为了快速定错。0- 无数据 1- 请求数据 uint32 nByteLen=2; //整个grpc请求或响应数据的总长度 uint...原创 2021-12-29 15:13:42 · 1301 阅读 · 0 评论 -
linux so库soname
soname qt makefile so linux原创 2021-12-24 09:01:13 · 1082 阅读 · 0 评论 -
32位机器和64位机器基本数据类型长度
测试对象:ubuntu64Ubuntu64位:类型 字节数char 1short int 2int 4float 4double 8 long 8lon...原创 2021-10-25 08:53:31 · 191 阅读 · 0 评论 -
DCT变换与反变换
输出zhouyong@zhouyong-All-Series:~/work/test$ g++ -o dct dct.cpp;./dct-----------------------------Raw------------------------------------------------11.000 85.000 136.000 212.000 211.000 233.000 137.000 135.000 155.000 107.000167.000 74.000 44.000 129.原创 2021-10-23 21:47:41 · 335 阅读 · 0 评论 -
利用信号灯和共享内存实现进程间同步通信
编写两个程序,利用同一个文件路径进行全局Key创建,然后创建两个信号灯,一个是读通知,一个是写通知。发送端:#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/ipc.h>#include<sys/shm.h>#include<unistd.h>#include<time.h>#include<sys/原创 2021-10-22 16:46:53 · 442 阅读 · 0 评论 -
vim常用命令
以下n代表输入的数字1.跳转到指定行:n例如跳转到15行:152.删除某一行:n d3.删除光标行dd4.删除多行:n1,n2 d例如删除2到15行:2,15 d5.拷贝光标行y6.移动多行:n1,n2 move n3例如,将5到8行移动插入到12行:5,8 move 127.注释多行ctrl+v进入视图模式,按住k或者j进行选择,选择完成后输入shift+i,进入插入模式,输入注释内容,例如#或者//,输入完毕后按住esc,最原创 2021-10-22 10:06:59 · 482 阅读 · 0 评论 -
Windows和Linux分别调试coredump方法
windows在mai函数开始处增加如下代码:inline BOOL IsDataSectionNeeded(const WCHAR* pModuleName){ if (pModuleName == 0) { return FALSE; } WCHAR szFileName[_MAX_FNAME] = L""; _wsplitpath(pModuleName, NULL, NULL, szFileName, NULL); i...原创 2021-09-26 14:17:52 · 970 阅读 · 0 评论 -
Windows10下 Nginx + FFmpeg 的 rtmp 视频推流
1. 下载 Nginx进入Nginx下载页面( http://nginx-win.ecsds.eu/download/ ),选择合适的版本下载。这里以 nginx 1.7.11.3 Gryphon 为例。下载完成后解压, 将解压后的目录重命名为“ nginx-1.7.11.3-Gryphon ”,并放到合适的路径下。2. 下载服务器状态检查程序 stat.xsl下载地址: https://github.com/arut/nginx-rtmp-module/将nginx-rtmp-mo...转载 2021-09-02 17:35:42 · 298 阅读 · 0 评论 -
海康威视设备发现sdp原理
首先,sdp是向239.255.255.250:1900发送udp消息以达到局域网广播目的,海康的sdp并没有像标准的ssdp那样包含:M-SEARCH,NOTIFY等关键字,而是采用自定义的xml字符串作为其私有协议。我用wireshark抓包得出:通过海康sdp客户端工具,点击刷新:客户端发送广播<?xml version="1.0" encoding="utf-8"?><Probe><Uuid>A3DD39B4-DA2E-4547-9C6C-484原创 2021-08-02 18:59:09 · 3697 阅读 · 0 评论 -
Vmware开机出现initramfs黑屏 initramfs
输入exit 此时提示The root filesystem on /dev/sda1 requires a manual fsck输入fsck /dev/sda1 然后一直输入y提示成功后重启即可原创 2021-07-26 10:29:15 · 1339 阅读 · 0 评论 -
ubuntu 16.04 安装 gRPC for C++
gRPC没有提供C++版本的ubuntu 16.04 预编译包,所以需要通过源码自行编译安装。官方git库地址:https://github.com/grpc/grpc由于github上部分较大的库下载很慢,所以我把所有相关的库镜像到国内的gitee上了,地址:https://gitee.com/zch-grpc/grpc下载代码:git clone https://gitee.com/zch-grpc/grpc.gitcd grpc12选择要编译的版本,我选择的版本是v1.32.0gi原创 2021-07-01 10:36:41 · 302 阅读 · 0 评论 -
ubutun发布程序-解决依赖关系
将打包程序--拷贝所依赖的库#!/bin/sh# 可执行程序名appname="AlarmServer"# 目标文件夹dst="./"# 利用 ldd 提取依赖库的具体路径liblist=$(ldd $appname | awk '{ if (match($3,"/")){ printf("%s "), $3 } }')# 目标文件夹的检测if [ ! -d $dst ];then mkdir $dstfi# 拷贝库文件和可执行程序到目标文件夹cp $liblist...原创 2021-06-29 09:05:57 · 134 阅读 · 0 评论 -
docker安装和部署
服务器联网,在终端执行命令: 1) 安装 docker: sudo apt-get install docker.io 2) 启动 docker: sudo service docker start 3) 设置开机启动 docker: sudo systemctl enable docker 4) 将当前用户添加到 dokcer 用户组: sudo usermod -a -G docker ${USER} 5) 重启电脑: sudo reboot 6) 修改 Do原创 2021-06-26 17:40:12 · 126 阅读 · 0 评论 -
利用docker打包和安装ubuntu18.05程序
将依赖库自动收集并放到程序当前路径#!/bin/sh# 可执行程序名appname="AlarmServer"# 目标文件夹dst="./"# 利用 ldd 提取依赖库的具体路径liblist=$(ldd $appname | awk '{ if (match($3,"/")){ printf("%s "), $3 } }')# 目标文件夹的检测if [ ! -d $dst ];then mkdir $dstfi# 拷贝库文件和可执行程序到目标文件夹cp $lib...原创 2021-06-25 19:35:03 · 408 阅读 · 0 评论 -
CMakeList.txt真实项目案例
编译环境:zhouyong@ubuntu:~/work/AlarmServer/src$ uname -aLinux ubuntu 5.4.0-73-generic #82~18.04.1-Ubuntu SMP Fri Apr 16 15:10:02 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux安装cmakezhouyong@ubuntu:~/work/AlarmServer/src$ sudo apt-get install -y cmake原创 2021-06-25 17:21:32 · 458 阅读 · 0 评论 -
ubutun 增加IP/DNS
法一 : ifconfig ens33:1 192.168.66.20法二:sudo ip address add 192.168.66.20/24 dev ens33原创 2021-06-25 15:16:18 · 222 阅读 · 0 评论 -
Ubutun X86 18.04编译grpcV3.8.0
1.安装依赖# 安装依赖sudo apt-get install pkg-configsudo apt-get install autoconf automake libtool make g++ unzipsudo apt-get install libgflags-dev libgtest-devsudo apt-get install clang libc++-dev2.下载grpc.zip 直接安装因为有很多依赖包, 为了避免麻烦, 在配置好后, 已经将整个项目压缩好...转载 2021-06-01 16:03:46 · 145 阅读 · 0 评论