这个是windows调用openssl需要的include包和lib包,东西都在压缩文件里面,需要什么自己将里面的复制进vc的include和lib中即可使用openssl,本人亲测好用
2024/12/23 9:16:17 7.05MB openssl
1
#include"use.h"#include"Ver.H"#include#include#include#include"include.h"/*******************************************************************1、菜单中这几个参数项需要读出和修改:P1中的:L,H,E,dr,PP2中的:Ed,SF,bo一共7个参数项;
---这7个参数项不知道用什么命令来进行读写?请你帮助考虑一下。
2、HART命令中,有如下命令应该要用到:⑴0#命令---读标识码(好像是个广播命令)⑵3#命令---读主变量电流(测量值)⑶6#命令---置随选地址(确定工作模式)⑷15#命令---读主变量输出信息(上下限值)⑸40#命令---进入/退出电流模式⑹41#命令---执行设备自检⑺42#命令---执行设备复位******************************************************************///前面的4个地址是固定的,后面一个是可以改的!用MP1.ADR代替了!//#defineadr00x02//#defineadr10x23//#defineadr20x34//#defineadr30x45//#defineMAX_0xff5//前导符的个数!//#defineHART_VER5//版本//----------------------------------------------------------------------------------//staticunsignedcharfHART_LONG_ADR=0;//=0短地址标至;
=1是长地址!//staticunsignedcharcnt_0xff=MAX_0xff;//主机发送0XFF的个数,从机回复添加相同的个数!//**************************************************************************externunsignedcharcnt_0xff;//主机发送0XFF的个数,从机回复添加相同的个数!externunsignedcharfHART_LONG_ADR;//=0短地址标至;
=1是长地址!//---------------------------------------------------------------------------------------------unsignedcharHART_Get_FF(unsignedchar*p){memset(p,0xff,cnt_0xff);returncnt_0xff;
2024/12/22 19:31:32 9KB HART 源代码
1
全套课程设计,经检验,程序无BUG#include#include"lex.h"main(){ //LexScan() //{ charch,ch1;//存放读入的字符 chartoken[50]={'\0'};//存放识别的字符串 inti=0;//字符串的指针 intflag;//字符串比较的标志 AttrWordattrword[200]={{"\0"}};//定义属性字 intAWflag=1;//属性字计数器 intk,c,flag1=0,Linenum=1; FILE*fp=fopen("d:\\lex.txt","r"); if(fp==NULL) { printf("can'topentext!"); exit(0); } ch=fgetc(fp);
2024/12/22 9:08:31 961KB 编译原理 课程设计 计算机
1
#include#include#include#includeusingnamespacestd;intw=0;//尾数累加器intp=0;//指数累加器intj=0;//十进制小数位数计数器inte=1;//用来记录十进制数的符号,当指数为正时为1,为负时为-1inti=0;//用来标志元素位置intd=0;//用来表示每个数值型元素对应的数值constintN=40;//用来确定输入识别符的最大长度chardata[N];//存放输入的识别符boolis_digit;//标志是否是数字stringCJ1;//确定是整形还是实型doubleCJ2;//记数值//函数声明voidcheck(charc);//检查首字母是否是数字的函数voiddeal_integer(charc);//处理识别符的整数部分voiddeal_point(charc);//用来处理小数部分voiddeal_index(charc);//用来处理指数部分voids_next();//确定实型voidz_next();//确定整型voidlast();//计算CJ2voiderror();//程序中错误处理程序voiddeal();//处理函数主体intmain(){//主函数coutdata;deal();//处理函数主体last();//计算CJ2system("pause");return0;}voidcheck(charc)//判断输入的首字母是否是数字{is_digit=isdigit(c);while(is_digit!=true){//输入的首字母不是数字时coutdata;check(data[0]);}}voiddeal_integer(charc){//处理识别符的整数部分d=(int)c-48;w=w*10+d;i++;if(isdigit(data[i])!=0)//下一个仍是数值时,调用程序本身deal_integer(data[i]);}voiddeal_point(charc){//用来处理小数部分inttemp=i;if(isdigit(c)!=0)//是数值字符时deal_integer(c);else{error();//错误处理程序deal();//处理函数主体}j=i-temp;//记录十进制小数位数}voiddeal_index(charc){//用来处理指数部分if(c=='-'){e=-1;i++;}//是'-'号时else{if(c=='+')i++;//是'+'号时else{if(isdigit(c)==false)//非数值字符时{error();//错误处理程序deal();//处理函数主体}else
2024/12/19 11:09:24 33KB 无符号数的词法分析程序
1
GSL(GNUScientificLibrary),针对windows平台,64位操作系统编译。
包含完整bin、lib以及include文件,在win764位操作系统vs2012上测试通过。
2024/12/13 13:03:49 8.79MB GSL windows x64 vs2012
1
#include"stdafx.h"#include#definePi3.1415926535897932384626433832795028841971693993751058209749445923078164constdoubleawgs=6378137.0;//WGS84Semi-MajorAxis=EquatorialRadiusinmetersconstdoublebwgs=6356752.314;//WGS84Semi-MinorAxis=PolarRadiusinmetersconstdoubleabes=6377397.155;//BesselSemi-MajorAxis=EquatorialRadiusinmetersconstdoublebbes=6356078.962;//BesselSemi-MinorAxis=PolarRadiusinmetersconstdoublecbes=111120.6196;//BessellatitudetoGauss-Kruegermetersconstdoubledx=-585.7;//TranslationParameter1constdoubledy=-87.0;//TranslationParameter2constdoubledz=-409.2;//TranslationParameter3constdoublerotx=2.540423689E-6;//RotationParameter1constdoubleroty=7.514612057E-7;//RotationParameter2constdoublerotz=-1.368144208E-5;//RotationParameter3//constdoublesc=1/0.99999122;//ScalingFactorwrong!//MaikStoeckmannreportedthiserroronNov12th2002.Thankyou,Maik!constdoublesc=0.99999122;//ScalingFactor
2024/12/9 0:53:57 3KB VC高斯投影
1
解压,将/bin/glew32.dll拷贝到c:/windows/system32下面,将/lib/glew32.lib拷贝到VC安装目录下的lib目录下(如:/MicrosoftVisualStudio9.0/VC/lib/下),将/include/glew.h和/include/wglew.h拷贝到VC安装目录下的/include/gl/目录下(如:/MicrosoftVisualStudio9.0/VC/include/gl/下)。
在程序中我们只需要在包含gl,glu或glut.h之前包含glew.h就可以了(注意:一定要先包含glew.h),在在代码中加上这么一句:#pragmacomment(lib,"glew32.lib")示例:#include#include#progrmacomment(lib,"glew32.lib")在创建OpenGL渲染context之后,调用glewInit();初始化glew就可以了。
2024/12/7 12:17:40 2.97MB glew GL/glew.h
1
1.把SEGGER_RTT.cSEGGER_RTT.hSEGGER_RTT_Conf.hSEGGER_RTT_printf.c4个文件,导入到keil项目中,记得工程中添加include引用路径.2.include"SEGGER_RTT.h"使用 SEGGER_RTT_printf(0,"SEGGERRTT%d%d%d\r\n",u,u1,key);函数输出字符到默认终端.使用SEGGER_RTT_TerminalOut(1,RTT_CTRL_TEXT_BRIGHT_RED"Counteroverflow!");指定终端输出3.显示用JLinkRTTViewer.exe或JLinkRTTClient.都是jlink自带的,如果没有说明jlink版本太低了.安装一下http://download.csdn.net/download/baidu_33184823/9310037
2024/12/5 6:41:24 17KB Jlink debug RTT 调试
1
目录译者序前言第1章简介 11.1什么是VerilogHDL? 11.2历史 11.3主要能力 1第2章HDL指南 42.1模块 42.2时延 52.3数据流描述方式 52.4行为描述方式 62.5结构化描述形式 82.6混合设计描述方式 92.7设计模拟 10第3章Verilog语言要素 143.1标识符 143.2注释 143.3格式 143.4系统任务和函数 153.5编译指令 153.5.1`define和`undef 153.5.2`ifdef、`else和`endif 163.5.3`default_nettype 163.5.4`include 163.5.5`resetall 163.5.6`timescale 163.5.7`unconnected_drive和`nounconnected_drive 183.5.8`celldefine和`endcelldefine 183.6值集合 183.6.1整型数 183.6.2实数 193.6.3字符串 203.7数据类型 203.7.1线网类型 203.7.2未说明的线网 233.7.3向量和标量线网 233.7.4寄存器类型 233.8参数 26第4章表达式 284.1操作数 284.1.1常数 284.1.2参数 294.1.3线网 294.1.4寄存器 294.1.5位选择 294.1.6部分选择 294.1.7存储器单元 304.1.8函数调用 304.2操作符 304.2.1算术操作符 314.2.2关系操作符 334.2.3相等关系操作符 334.2.4逻辑操作符 344.2.5按位操作符 354.2.6归约操作符 364.2.7移位操作符 364.2.8条件操作符 374.2.9连接和复制操作 374.3表达式种类 38第5章门电平模型化 395.1内置基本门 395.2多输入门 395.3多输出门 415.4三态门 415.5上拉、下拉电阻 425.6MOS开关 425.7双向开关 445.8门时延 445.9实例数组 455.10隐式线网 455.11简单示例 465.122-4解码器举例 465.13主从触发器举例 475.14奇偶电路 47第6章用户定义的原语 496.1UDP的定义 496.2组合电路UDP 496.3时序电路UDP 506.3.1初始化状态寄存器 506.3.2电平触发的时序电路UDP 506.3.3边沿触发的时序电路UDP 516.3.4边沿触发和电平触发的混合行为 516.4另一实例 526.5表项汇总 52第7章数据流模型化 547.1连续赋值语句 547.2举例 557.3线网说明赋值 557.4时延 557.5线网时延 577.6举例 577.6.1主从触发器 577.6.2数值比较器 58第8章行为建模 598.1过程结构 598.1.1initial语句 598.1.2always语句 618.1.3两类语句在模块中的使用 628.2时序控制 638.2.1时延控制 638.2.2事件控制 648.3语句块 658.3.1顺序语句块 668.3.2并行语句块 678.4过程性赋值 688.4.1语句内部时延 698.4.2阻塞性过程赋值 708.4.3非阻塞性过程赋值 718.4.4连续赋值与过程赋值的比较 728.5if语句 738.6case语句 748.7循环语句 768.7.1forever循环语句 768.7.2repeat循环语句 768.7.3while循环语句 778.7.4for循环语句 778.8过程性连续赋值 788.8.
2024/11/28 20:22:43 4.72MB verilog
1
加密算法在信息技术领域中起着至关重要的作用,用于保护数据的安全性和隐私性。
SHA(SecureHashAlgorithm)是一种广泛使用的散列函数,它将任意长度的数据转换为固定长度的摘要值。
SHA512是SHA家族中的一员,提供更强大的安全性能,尤其适合大数据量的处理。
本文将深入探讨SHA512加密算法的原理、C++实现以及其在实际应用中的重要性。
SHA512算法基于密码学中的消息摘要思想,通过一系列复杂的数学运算(如位操作、异或、循环左移等),将输入数据转化为一个512位的二进制数字,通常以16进制形式表示,即64个字符。
这个过程是不可逆的,意味着无法从摘要值推导出原始数据,因此被广泛应用于数据完整性验证和密码存储。
在C++中实现SHA512算法,首先需要理解其基本步骤:1.**初始化**:设置一组初始哈希值(也称为中间结果)。
2.**预处理**:在输入数据前添加特殊位和填充,确保数据长度是512位的倍数。
3.**主循环**:将处理后的数据分成512位块,对每个块进行多次迭代计算,每次迭代包括四个步骤:扩展、混合、压缩和更新中间结果。
4.**结束**:将最后一个中间结果转换为16进制字符串,即为SHA512的摘要值。
C++代码实现时,可以使用位操作、数组和循环来完成这些计算。
为了简化,可以使用`#include`中的`uint64_t`类型表示64位整数,因为SHA512处理的是64位的数据块。
同时,可以利用`#include`中的`memcpy`和`memset`函数来处理内存操作。
此外,`#include`和`#include`库可用于将二进制数据转换成16进制字符串。
以下是一个简化的C++SHA512实现框架:```cpp#include#include#include#include#include//定义常量和初始化哈希值conststd::arraykInitialHashValues{...};std::arrayhashes=kInitialHashValues;//主循环函数voidProcessBlock(constuint8_t*data){//扩展、混合、压缩和更新中间结果}//输入数据的处理voidPreprocess(conststd::string&input){//添加填充和特殊位}//将摘要转换为16进制字符串std::stringDigestToHex(){//转换并返回16进制字符串}//使用示例std::stringmessage="Hello,World!";Preprocess(message);constuint8_t*data=reinterpret_cast(message.c_str());size_tdataSize=message.size();while(dataSize>0){if(dataSize>=128){ProcessBlock(data);dataSize-=128;data+=128;}else{//处理剩余数据}}std::stringresult=DigestToHex();```这个框架只是一个起点,实际的SHA512实现需要填充完整的扩展、混合和压缩步骤,以及处理边界条件。
此外,为了提高效率,可能还需要使用SIMD(SingleInstructionMultipleData)指令集或其他优化技术。
SHA512算法在多种场景下具有广泛的应用,如:-**文件校验**:通过计算文件的SHA512摘要,可以验证文件在传输或存储过程中是否被篡改。
-**密码存储**:在存储用户密码时,不应直接保存明文,而是保存SHA512加密后的哈希值。
当用户输入密码时,同样计算其SHA512值并与存储的哈希值比较,不匹配则表明密码错误。
-**数字签名**:在公钥加密体系中,SHA512可以与非对称加密算法结合,生成数字签名,确保数据的完整性和发送者的身份验证。
了解并掌握SHA512加密算法及其C++实现,对于信息安全专业人员来说至关重要,它不仅有助于提升系统的安全性,也有助于应对不断发展的网络安全威胁。
通过深入学习和实践,我们可以更好地理解和利用这一强大的工具。
2024/11/12 20:26:46 2.14MB 加密算法
1
共 195 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡