简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
x0/zerox0寄存器又被称为zero寄存器,它的读写是无效的,它的值只能为0,这是为了让编译器进行优化上面这段汇编的作用是进行相加运算,将x2和x3寄存器的值相加的结果并放入x1寄存器,但是如果x3寄存器的值为0当RISC-V处理器执行这条指令的时不会去读取x0寄存器的值,会直接按0来运算,这样就可以省去与0做运算时读取的步骤。RISC-V处理器在设计时只要涉及到x0寄存器的读取一律按0来处理
Socket的HOOK技术是目前网络拦截程序的基础功能,还有浏览器的抓包工具都是通过拦截Socket函数实现的浏览器也好,通讯软件也好,他们只是使用的通讯协议不一样,其最底层的全部都是通过封装Socket里的TCP/UDP实现的如最常用的就是Send函数与Recv函数,一个是发送一个是接收,所以我们只需要通过Hook住Send和Recv函数就可以实现抓包功能https://blog.csdn.ne
指令顾名思义就是用来引导某一硬件工作的方式的,集即集合的意思,也就是很多种不同引导指令的集合!指令集是存储于CPU内部,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合!可以这样说指令集是软件与CPU之间的一个接口而CPU就是接口的实列化。其实指令集就是一组汇编指令的集合,不同的CPU使用的指令集不同。过去比较常用的是lntel的X86C
简介我们通常在编写shell脚本时简单的方式是通过参数的方式来取到我们想要的参数,如:#!/bin/bashSYSCODE=$1APP_NAME=$2MODE_NAME=$3但是这有一个问题,就是参数的位置是固定的,倘若用户在调用脚本时参数位置不固定那么就会出现问题,这种方法一般只适用于一两个参数的情况,我们可以使用更高阶的方案,在Linux中提供了两个命令:getopt与getopts,geto
qmake是trolltech公司开发的跨平台Makefile生成工具,它被QT用来管理项目工程,无论你的项目是否使用QT编写都可以使用qmake来管理你的项目,因为这样你就不用去写复杂的makefile,虽然已经有cmake了但是qmake会比cmake更简单。虽然qmake不像cmake多元化,但是qmake至少能够让你快速将一个平台的项目工程迁移到另外一个平台。如你有一个项目使用visual
给QT工程 pro文件添加zmq的项目lib时,编译出现::-1: error: cannot find /opt/toolschain/zeroMQ/zeromq_gcc/lib: file format not recognized原因是因为lib库目录下有很多链接库文件可以使用“ll”命令查看文件的指向类型从图中可以看出libzmq.so.5.0.0是libzmq.so和libzmq.so.
Linux Dbus是由项目开发的一款IPC进程间通讯技术,它是基于在Unix 域套接字实现的,它在sockets上面进行了封装并提供了一套更加规范、方便、安全的通讯机制,同时定义了一套标准接口,目前已经被大量Linux发行版所采用,比如Ubuntu、Centos...Dbus最初的目的就是为桌面应用程序之间提供IPC通讯技术它不属于Linux内核的一部分,它目前没有被Linux内核所采纳。
在使用GNU工具链时默认是导出函数,并且GCC里不认_declspec(dllexport)使用条件宏分开:#ifdef WIN32#define WEYE_UDP_PACKETS_EXTERN extern "C" _declspec(dllexport)#elif __GNUC__#define WEYE_UDP_PACKETS_EXTERN extern "C"#endif...
前言Stm32 Cube MX是Stm32公司推出的一款专门为Stm32平台开发的IDE,通过它能够快速构建集成开发环境,与早期的STM32外设库相比,Cube MX更为简单,Cube MX做了更多层的封装,使的用户可以不用太关心MCU底层的实现,通过调用相关API即可完成工作,新手不建议直接使用它,新手可以先从最基本的GPIO口操作,在到外设库,然后在到Cube MX,否则你在开发过程中对底层硬
Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。Openvino内部集成了OpencvTensorFlow模块,除此之外它还具有强大的Plugin开发框架,允许开发者在Openvino之上对推理过程做优化。Openvino前端→ Plugin中间层→ Backend后端Openvino的优点在于它屏蔽了后端接口,提供了统一操作的前端AP