- 博客(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
DOSBox-MASM.rar
2023-10-12
AMD处理器编程指导手册
2023-02-18
CodeEditor源码文件
2022-12-07
CXL2.0协议规范文档-中文版
2022-10-27
CXL1.1协议规范文档-中文版
2022-10-27
SourceInsight4.0仿VS2013代码风格主题
2022-02-16
2020最新个税计算器打包脚本
2020-10-19
2020最新个税计算器免安装版
2020-10-19
2020最新个税计算器安装包
2020-10-19
cachesize-master.zip
2020-09-23
processhacker-2.39-sdk.zip
2020-09-23
Flops-master.zip
2020-09-13
processhacker-2.39-src.rar
2020-09-13
processhacker-2.39-bin.rar
2020-09-13
AMD_block_prefetch_paper.pdf
2020-09-13
qt-vsaddin-msvc2017-2.4.3-rev.07.vsix
2020-09-13
boost_reflect-master.rar
2020-09-13
Win64OpenSSL-1_0_2u.rar
2020-09-13
rttr-0.9.5-win64-vs2015.7z
2020-09-13
ResourceHacker.rar
2020-09-13
FastMemcpy-master.zip
2020-09-13
openssl-1.0.1a.tar.gz
2020-09-13
OpenHardwareMonitor-v0.9.5-code.zip
2020-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人