自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

百里杨的博客

孔子曰:温故而知新~~

  • 博客(19)
  • 资源 (30)
  • 收藏
  • 关注

转载 linux 上查询cache 大小的方法

一.命令查询a). 直接查看文件$ cat /sys/devices/system/cpu/cpu0/cache/b). getconf 命令$ getconf -a | grep CACHELEVEL1_ICACHE_SIZE 32768LEVEL1_ICACHE_ASSOC 8LEVEL1_ICACHE_LINESIZE 64LEVEL1_DCACHE_SIZE

2020-08-31 17:14:15 5168

原创 Linux下获取us级代码执行时间

如题,对某段代码获取其运行消耗的时间(微秒级别)。一、gettimeofday函数函数原型,如下:int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:结构体timeval的定义为:struct timeval{ long int tv_sec; // 秒数 long int tv_usec; // 微秒数 };结构体timezone的定义为:

2020-08-29 18:32:02 1287

原创 Windows下获取us级代码执行时间

如题,对某段代码获取其运行消耗的时间(微秒级别)。一、涉及到2个系统API函数QueryPerformanceFrequency函数,其原型如下:BOOL QueryPerformanceFrequency( LARGE_INTEGER *lpFrequency);微软帮助文档:https://docs.microsoft.com/en-us/windows/win32/api/profileapi/nf-profileapi-queryperformancefrequencyQu

2020-08-29 18:29:20 968

原创 C、C++、Qt类型转换总结

一、C类型转换转换格式如下:Type b = (Type)a二、C++类型转换1、const_cast去掉类型的const或volatile属性。const int a = 10;a = 20; // compile errorint& b = const_cast<int&>(a);b = 20; // compile ok,a==20,b==20int a = 10;const int *p = &a;*p = 20;

2020-08-29 15:54:54 1881

原创 Qt属性与反射实现多个不同类型对象的保存与加载

本文针对如下需求场景,提出一种解决方案。一、需求场景我们的需求如下:我们程序需要运行多个算法,每个算法执行不同的处理,并且算法有各自的参数,这些参数也是不同的。同时提供界面,可以对需要运行的算法进行选择,每个算法的参数值可以编辑。选择好的算法,以及编辑好的参数需要保存为配置文件,下次启动时,自动载入至界面。二、设计实现1、解决第1条需求首先,因为多个算法需要被运行,我们很容易想到抽象出一个IAlgo接口类,如下:class IAlgo{public: virtual

2020-08-29 12:16:14 1491 4

原创 内存带宽测试与AVX指令集读写内存

一、内存理论带宽的计算内存带宽计算公式:带宽=内存核心频率×内存总线位数×倍增系数。 先容我从DDR的技术说起,DDR采用时钟脉冲上升、下降沿各传一次数据,1个时钟信号可以传输2倍于SDRAM的数据,所以又称为双倍速率SDRAM。它的倍增系数就是2。 DDR2仍然采用时钟脉冲上升、下降支各传一次数据的技术(不是传2次),但是一次预读4bit数据,是DDR一次预读2bit的2倍,因此,它的倍增系数是2X2=4。 DDR3作为DDR2的升级版,最重要的改变是一次预读8bit,...

2020-08-25 18:50:10 2118

转载 使用SSE指令集来优化程序

SSE和SSE2的指令系统非常相似,SSE2比SSE多的仅是少量的额外浮点处理功能、64位浮点数运算支持和64位整数运算支持。 SSE为什么会比传统的浮点运算更快呢?因为它使用了128位的存储单元,这对于32位的浮点数来讲,是可以存下4个的,也就是说,SSE中的所有计算都是一次性针对4个浮点数来完成的。虽然SSE从理论上来讲要比传统的浮点运算会快,但是所受的限制也很多,首先,虽然它执行一次相当于四次,会比传统的浮点运算执行4次的速度要快,但是它执行一次的速度却并没有想象中的那...

2020-08-24 15:19:24 3530

转载 用大白话带你理解CPU指令集

指令集与机器码无论处于上层的软件多么的高级, 想要在CPU执行, 就必须被翻译成"机器码", 翻译这个工作由编译器来执行. 编译器在这个过程中, 要经过"编译", "汇编", "链接"几个步骤, 最后生成"可执行文件". 可执行文件中保存的是二进制机器码. 这串机器码可以直接被CPU读取和执行.软件意义上, "指令集"实际上是一个规范, 规范汇编的文件格式.以下为一条x86汇编代码:mov word ptr es:[eax + ecx * 8 + 0x11223344], 0x12345678

2020-08-24 12:03:21 9620

原创 环境篇-Linux下安装OpenSSL

linux下,一般系统都自带了OpenSSL,可以直接使用,包括:终端直接使用OpenSSL命令;直接调用OpenSSL库。故,一般不需要再安装。不再对OpenSSL安装过程进行讲解,若需采用源码安装,则可参考此文《Linux下OpenSSL的安装与使用》。下面,以Qt为例,简述,在Qt中如何调用OpenSSL。仅需在pro文件中,unix括号内添加如下2行:INCLUDEPATH += /usr/includeLIBS += -lcrypto添加后然后,在源文件中正常调用Ope

2020-08-23 18:11:27 1833

原创 环境篇-Windows下安装OpenSSL

OpenSSL 是一个开源项目,其组成主要包括三个组件:openssl:多用途的命令行工具libcrypto:加密算法库libssl:加密模块应用库,实现了ssl及tls我们主要介绍的是libcrypto加密算法库。一、安装Windows版OpenSSL1、下载下载地址:http://slproweb.com/products/Win32OpenSSL.html我们选择下载“Win64 OpenSSL v1.0.2u”。2、安装一般选择默认安装即可。但是有一点需要注意,就是如果电

2020-08-23 18:08:57 69102 10

原创 记录因升级OpenSSL导致SSH无法启动问题

因需要使用OpenSSL加密库进行开发,但是选择了高版本1.1.1,而linux环境中OpenSSL版本为1.0.2g,所以想着干脆升级下,所以下载OpenSSL 1.1.1源码进行编译,然后安装。照着网上的教程搞了下,很容易就实现了,终端中识别OpenSSL版本,如下:OpenSSL version -a参考的博客是《Ubuntu16.04安装/升级openssl到1.1版本》但是,过了几天发现SSH不能用了,查询ssh状态,也是启动失败。想起来动过OpenSSL,所以开始想办法恢复。百度了

2020-08-22 19:31:55 6991 4

原创 linux常用命令总结

在根目录下查找xxx文件:find / -name xxx列出执行main.out程序搜索所需库时需要的路径,可以在程序提示找不到库时进行查看搜索路径:LD_DEBUG=libs ./main.out查看ssh服务是否启动:systemctl status sshd.service启动ssh服务:service sshd start或systemctl start sshd.service重启ssh服务:systemctl restart sshd.service...

2020-08-22 18:46:59 394

原创 inno setup打包脚本总结

inno setup是比较简单好用的一款打包工具。下面以打包HelloWorld.exe为例进行说明。一、打包目录的建立创建source目录:用于放置主程序、依赖dll、资源等待打包文件。创建output目录:用于存放生成的安装包。HelloWorld.iss:使用inno setup向导生成的打包脚本。如下所示:进行打包时,只需要编译HelloWorld.iss,就可以了。二、修改脚本使用向导生成的脚本HelloWorld.iss,内容如下:; Script generated

2020-08-22 18:26:17 4870

原创 inno setup打包程序安装出现CreateProcess failed;code 740

问题: 使用inno setup打包我们发布的程序test.exe,在安装结束后,勾选了Launch xxx运行程序,然后出现如下报错:Unable to execute file:xxxCreateProcess failed;code 740.请求的操作需要提升。报错原因: 下面是test.exe的2个图标,带盾牌的是具备管理员权限,不带盾牌的为普通程序。打包普通程序时,安装结束不会报错;打包带管理员权限程序时,安装结束才会报错。个人猜测可能是因为在执行安装包时,安装包不带管理员

2020-08-22 15:47:50 6069 2

原创 使用windeployqt与inno setup实现windows下Qt程序发布打包

一、使用windeployqt拷贝依赖文件在发布生成的exe程序时,需要复制一大堆dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此Qt官方开发环境里自带了一个工具:windeployqt.exe。1、设置windeployqt.exe目录为环境变量以本机Qt5.12.3,MSVC64位环境为例,工具路径为D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\bin,如下:请找到与自己工程使用的编译器版本一致的目录下,并将该目录设置为环境变量;

2020-08-22 14:22:16 424 3

原创 win和linux下如何给Qt应用程序添加图标

一、没有设置应用程序图标时如下,标题栏:任务栏:文件图标:二、设置应用程序图标1、准备一张ico图标图标文件名为:shehui.ico2、创建res.rc文件内容为:IDI_ICON1 ICON DISCARDABLE "shehui.ico"3、修改pro文件在pro中加入如下内容:RC_FILE += res.rc重新编译,生成exe。效果如下: ==================================================

2020-08-22 14:10:58 4285 2

原创 关于Qt路径中带空格或者中文的问题

对于Qt是否不支持路径中空格或中文的疑虑,可以打消了。可以肯定的是,Qt支持任意带空格和中文的路径。一、测试代码QtCreator+MSVC编译器环境下,测试代码如下:void testWriteFile(const QString& fileName){ QFile file(fileName); if (file.open(QIODevice::WriteOnly)) { file.write("123"); } else

2020-08-22 14:00:58 5427

原创 给Qt程序添加管理员权限总结(一定有你没见过的方式)

当我们写了一个Qt程序,程序会在C盘某些目录下创建文件时,会发现代码没有问题,但是就是创建失败。而当我们对程序右键,以管理员权限运行时,又可以正常创建文件。此时,说明我们的程序默认不具备管理员权限,故而无法对某些目录进行写入。根据我们的编译器不同,有如下2种情况。一、使用MSVC编译器在pro文件中,添加如下一行:QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"重新编译之后,程序

2020-08-22 11:57:03 12887 14

原创 OpenSSL加密算法库使用系列教程

OpenSSL算法库不会使用,条条框框各种限制太多,动不动就段错误??接下来出一个系列教程,争取涉及到常用算法的使用,想要原理、demo、用法、运行效果?都有!!!计划如下,OpenSSL加密库使用教程:1、《OpenSSL加密库之AES算法原理简述》2、《OpenSSL加密库之AES算法-ECB模式》3、《OpenSSL加密库之AES算法-CBC模式》4、《OpenSSL加密库之AES算法-CFB1模式》5、《OpenSSL加密库之AES算法...

2020-08-15 19:05:06 9560 2

MySBI与BenOS实验代码

《RISC-V体系结构编程与实践》第二章MySBI与BenOS实验代码。

2024-04-26

NVMe2.0协议规范文档

NVMe2.0协议规范文档,下载自NVMe官网。

2024-01-25

NVMe 1.1协议规范培训PPT

NVMe 1.1协议规范培训PPT

2024-01-25

NVMe 1.2协议规范文档

NVMe 1.2协议规范文档

2024-01-25

NVMe 1.3中文版翻译

NVMe 1.3中文版,翻译自开源英文版。这是word版,带导航目录标签。

2024-01-25

NVM-Express-1.1a协议规范文档

NVM-Express-1.1a协议规范文档

2024-01-25

DOSBox-MASM.rar

DOSBox+MASM用于搭建汇编开发环境,参考文章《DOSBox和MASM汇编开发环境搭建》:https://blog.csdn.net/zyhse/article/details/133786703

2023-10-12

AMD处理器编程指导手册

Preliminary Processor Programming Reference (PPR) for AMD Family 17h Model 31h,Revision B0 Processors,AMD发布的编程指导手册,开放文档。

2023-02-18

CodeEditor源码文件

来自于QT5.14.2的官方开源例子,重点是CodeEditor类可支持行号显示,效果不错。效果参考博文:https://blog.csdn.net/zyhse/article/details/128223191

2022-12-07

CXL2.0协议规范文档-中文版

开放的CXL2.0协议规范中文版,使用百度翻译而成。需要与英文版(https://download.csdn.net/download/u011832525/86723168)对照起来阅读,效果更佳。

2022-10-27

CXL1.1协议规范文档-中文版

开放的CXL1.1协议规范中文版,使用百度翻译而成。需要与英文版(https://download.csdn.net/download/u011832525/86723164)对照起来阅读,效果更佳。

2022-10-27

PCIe5.0协议规范文档

开放的PCIe5.0协议规范文档

2022-09-27

CXL3.0协议规范文档

开放的CXL3.0协议规范文档

2022-09-27

CXL2.0协议规范文档

开放的CXL2.0协议规范文档

2022-09-27

CXL1.1协议规范文档

开放的CXL1.1协议文档

2022-09-27

SourceInsight4.0仿VS2013代码风格主题

SourceInsight4.0仿VS2013代码风格主题,效果可参考博文:https://blog.csdn.net/zyhse/article/details/122972129

2022-02-16

JUDE-Community-v5.5.2.rar

免费的UML工具

2021-07-20

embos实时操作系统用户指南&参考手册.rar

该文档为embos帮助文档,内含中文版和英文版。英文版下载自官网,中文版为有道翻译,可以这2个结合起来看,会比较好。

2021-06-22

2020最新个税计算器打包脚本

2020最新个税计算器打包脚本,内含exe、打包脚本,以及生成的安装包。 软件基于Qt开发,源码地址:https://gitee.com/bailiyang/cdemo/tree/master/Qt/55TaxCalculator/TaxCalculator

2020-10-19

2020最新个税计算器免安装版

2020最新个税计算器免安装版,自己基于Qt开发,开源,源码地址:https://gitee.com/bailiyang/cdemo/tree/master/Qt/55TaxCalculator/TaxCalculator

2020-10-19

2020最新个税计算器安装包

2020最新个税计算器安装包,基于Qt开发,源码地址:https://gitee.com/bailiyang/cdemo/tree/master/Qt/55TaxCalculator/TaxCalculator

2020-10-19

cachesize-master.zip

这是google开源的一个java小项目,代码有几百行,主要实现java获取CPU的Cache信息,Cache Size,Cache Line Size等。 底层使用C语言操作CPUID,获取cache,然后使用JNI技术,实现java调用C,java拿到Cache信息后,并进行class封装,以供java语言调用,获取相应Cache信息。代码很简单,感兴趣,可以看看。 git地址:https://github.com/xdx526/cachesize

2020-09-23

processhacker-2.39-sdk.zip

本资源为Process Hacker的SDK,包括lib、头文件。基于此SDK可以开发插件,并在Process Hacker中使用该插件。 Process Hacker是一款强大的系统进程管理工具,开源,并且还可以显示CPU、GPU、IO、内存等相关使用信息。 官网地址:https://processhacker.sourceforge.io/ git地址:https://github.com/processhacker/processhacker

2020-09-23

Flops-master.zip

该资源为源码,主要实现对x86/x64处理器,测试其浮点运算(floating-point operations per second)性能。FPU是专用于浮点运算的处理器,即对FPU进行测试。该源码支持Linux/Windows。 git地址:https://github.com/Mysticial/Flops

2020-09-13

processhacker-2.39-src.rar

本资源为源码。 Process Hacker是一款强大的系统进程管理工具,开源,并且还可以显示CPU、GPU、IO、内存等相关使用信息。 官网地址:https://processhacker.sourceforge.io/ git地址:https://github.com/processhacker/processhacker

2020-09-13

processhacker-2.39-bin.rar

本资源为win下免费开源软件,直接从官网下载的。 Process Hacker是一款强大的系统进程管理工具,并且还可以显示CPU、GPU、IO、内存等相关使用信息。 官网地址:https://processhacker.sourceforge.io/ git地址:https://github.com/processhacker/processhacker

2020-09-13

AMD_block_prefetch_paper.pdf

AMD 20年前的古董文档《使用块预取优化内存性能》,Using Block Prefetch for Optimized Memory Performance

2020-09-13

qt-vsaddin-msvc2017-2.4.3-rev.07.vsix

使用VS2017开发Qt的插件,安装后,可在VS中进行编码、编译、运行。VS插件。VS插件。VS插件。VS插件。VS插件。

2020-09-13

boost_reflect-master.rar

Boost Reflect是一款基于C++实现的开源反射库,类似java反射。 不过年代稍远,最近的更新也是8年前了。 git地址:https://github.com/bytemaster/boost_reflect

2020-09-13

Win64OpenSSL-1_0_2u.rar

该资源为OpenSSL的window版安装包,安装后,在安装目录下有lib、dll、头文件,开发时可以直接进行调用。免去了,编译OpenSSL源码的麻烦。

2020-09-13

rttr-0.9.5-win64-vs2015.7z

RTTR是基于C++的一款开源库,其支持反射性编程,类似java反射。并且,RTTR 还提供了一个动态库插件,可以非常快速地用 C++ 实现插件式架构,简单定义某个动态库需要暴露的类型以及方法名,就可以通过反射机制加载到对应的函数或者对象。该资源包含lib、dll、头文件,从官网上下载请放心。直接加入自己的工程中就可以使用。 官网地址:https://www.rttr.org/ 参考博客:https://blog.csdn.net/xianzongtanxun/article/details/103717891

2020-09-13

Depends.rar

这款软件用于查看exe依赖的dll,是否被正确加载,软件开发的必备利器。支持win32/win64。

2020-09-13

SourceCounter.rar

这是一款代码行数统计工具,支持30多种代码格式,能够统计代码行数、注释、空行、文件大小等数据,操作更是简单,非常实用,让统计代码更加方便。

2020-09-13

ResourceHacker.rar

Resource Hacker 主要用于察看、反汇编和取代 Windows 32 位可执行程序中的资源,支持 Delphi 5 和 C++ Builder。这个软件可以修改或者替换exe、dll等各种文件中的内容。 官网地址:http://www.angusj.com/resourcehacker/

2020-09-13

PYG密码学综合工具V5.0.0.5.rar

该软件支持常规的AES/DES/RSA/HASH加密,解密。可用于平时开发中,简单加解密的验证测试。

2020-09-13

cpu-z_1.92中文版.rar

Cpu-Z是一款计算机的CPU检测软件,可以准确显示CPU、Cache缓存、主板、内存、显卡等详细硬件信息。支持win32/win64系统。

2020-09-13

InnoSetup5.5.9中文帮助.rar

InnoSetup5.5.9中文帮助chm文档,详细介绍了安装脚本中各个字段含义,以及其他打包说明。

2020-09-13

FastMemcpy-master.zip

该资源为源码,分别使用AVX和SSE指令实现的快速拷贝函数,开源,支持linux和win。git地址:https://github.com/skywind3000/FastMemcpy

2020-09-13

openssl-1.0.1a.tar.gz

openssl-1.0.1a源码,可在linux下进行编译安装,参考博客:https://www.cnblogs.com/rocedu/p/5087623.html

2020-09-13

OpenHardwareMonitor-v0.9.5-code.zip

Open Hardware Monitor是一款使用C#开发的开源软件,本资源为C#源码。可以实时检测并显示电脑重要部件温度的软件。除此之外它还可以显示风扇转速、电压、内存、GPU、CPU负载和时钟频率等信息。 官网地址:https://openhardwaremonitor.org/ git地址:https://github.com/openhardwaremonitor/openhardwaremonitor

2020-09-13

空空如也

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

TA关注的人

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