- 博客(63)
- 资源 (14)
- 收藏
- 关注
原创 一个modbus协议master类
public: //功能 : 每次初始化时调用一次 int Initialize(CAptFace *pMain, CChannelFace *pChan, CBufferData *pData, MapDevList &mMapDevTag, PARA ¶); //功能 : 从类CProtocolFace继承而来 int OnCommand(CmdPara para); //功能 : 扫描结束时调用该函数 int Cleanup(); //功能 : 从类CProtocolFac
2023-03-14 18:04:42 271
原创 一个C++ AES类加密算法的分享
class AES{public:typedef enum ENUM_KeySize_{ BIT128 = 0, BIT192, BIT256}ENUM_KEYSIZE;public: AES( ENUM_KEYSIZE keysize, BYTE *key ); ~AES(void); void Cipher( BYTE *input, BYTE *output ); void InvCipher( BYTE *input, BYTE *...
2022-08-03 14:12:51 352
原创 C 写的加密文件几个函数
#include //文件加解密接口bool EncryptFile(std::wstring strFileName, std::wstring strFileEn);bool DecryptFile(std::wstring strFileName, std::wstring strFileDe);//bool DecryptSqliteFile(std::wstring strFileName, std::wstring strFileDe);//内存加解密接口...
2022-08-03 10:21:50 217
原创 项目管理的方法论 一
什么是方法论?方法论是带哲理性和实践性的认知体系。什么是项目实施方法论?人对项目的客观规律形成系统性、理论化的认识,并且用于指导实际的项目实施。为什么我们需要实施方法论?建立了项目实施的完整“标杠”; 明确具体可行的项目范围和目标; 共同的“语言”和行为准则; 明确的阶段划分与阶段成果; 具体的项目里程碑; 完善的项目风险控制与管理程序; 严格的质量保证体系; 知识积累的载体下面我们带着这样的问题去学习,比如在项目的的每个阶段中,做什么,怎么做,怎么检查等等,需要参考的标准是什么?在项目中做什么,参考的
2022-06-29 16:50:45 641
原创 一个sm4的C算法
/** * \file sm4.h */#ifndef XYSSL_sm4_2_H#define XYSSL_sm4_2_H#define sm4_2_ENCRYPT 1#define sm4_2_DECRYPT 0/** * \brief SM4 context structure */typedef struct{ int mode; /*!< encrypt/decrypt */ unsign
2022-06-29 13:35:34 421 1
原创 一个sm3的C++算法
#define SM3_H#ifndef DWORDtypedef unsigned long DWORD;#endif#ifndef BYTEtypedef unsigned char BYTE;#endif#ifdef __cplusplusextern "C" {#endifvoid SM3_Init();void SM3_Update(BYTE *message, DWORD length);void SM3_Final_dword(DWORD *out_hash);void S
2022-06-29 11:40:12 1182
原创 一个C++读取XML的类
/* XmlHelper源于Feinno企业版,更改内容有 1.注释掉包含CString的方法,避免引入MFC 2.将std::string全部改为std::wstring,以支持Unicode字符 3.创建xml时,将 version='1.0' encoding='gb2312' 改为 version='1.0' encoding='utf-8'*/#include "string"#include #include ...
2022-06-27 13:38:37 311
原创 C++ 一个时间转换类封装
class UpTimeUtility{public: UpTimeUtility(); virtual~ UpTimeUtility(); /* calendar time,从一个标准时间点(1970年1月1日0时0分0秒)到此时的时间经过的秒数 */ static time_t GetCalendarTime(); static __int64 GetCalendarTimeMilliseconds(); //当天零点时间。 static t...
2022-06-24 17:23:33 525
原创 C++ 整形转换类
class Integer{public: Integer(); virtual~ Integer();public: static std::wstring ToWString(int value); static std::string ToString(int value); static int ParseWString(std::wstring wstring); static int ParseString(std::string stri...
2022-06-24 17:17:21 308
原创 一个C++基类的封装
class CBase{public: CBase(void); virtual ~CBase(void); void *operator new[ ](size_t size); void operator delete[ ](void *p); void* operator new(size_t size); void operator delete(void *p);};
2022-06-24 17:13:39 233
原创 SCADA 总体设计(二)
开发思路SCADA作为公司新一代的监控系统,期望达到两个目标,一是实现跨平台特性,支持系统平滑运行于各种异构平台及操作系统之上,满足市场对跨平台监控系统的需求,二是系统要在监控系统的技术水平、应用水平上得到深层次的提升,系统的开发目标不仅仅是一套厂站监控系统,更为重要的是能为研发乃至公司提供一套可扩展性强、先进、稳定、高效的新一代监控软件平台。在跨平台的开发方式上主要有两种方案:第一种方案,平台独立的开发语言现主要是Java、C/C++,采用Java可以实现“一次编译,到处运行”,从调研情况来看,Java主
2022-06-24 16:55:01 641
原创 SCADA的总体设计(一)
术语定义对象(OBJECT)数据库组成的基本单位,表示数据模型概念,数据库由各种对象组成。行为(BEHAVIOR)完成某一处理功能的过程、方法、函数。规则(RULE)包含简单的运算表达式,对象与行为之间的关联点,即对象通过预定义规则触发期望的行为。实时数据库管理系统(RTDBMS)包括实时对象管理和实时对象访问接口,完成实时库的内部对象管理功能及对内对外的接口管理。实时对象管理系统(RTOMS)Real-time Objects Management System,统一负责管理各类对象的存/取、创建/销毁、
2022-06-24 16:41:18 387
原创 window 版本网络状态监听类
class UpNetworkStatusListener{public: virtual void OnNetworkStatusChanged(bool isConnect) = 0;};//网络状态class UpNetworkStatus{public: UpNetworkStatus(); ~UpNetworkStatus();public: void* GetWsaCheckEvent(){return m_WsaCheckEvent;} ...
2022-05-17 17:40:01 586
原创 shell 抓包脚本
#!/bin/bash. /etc/profile #解决which tcpdump ifconfig找不到的问题savapath=XXXXX #保存路径dayout=XXX #保存多少天的值maxfilesize= XXX #文件的大小netnames=$* #传入网口的名称,如果不传入,则默认监视所以网卡,传入模式eth0 eth1G_captool=`which tcpdump`G_ifconfig=`which ifconfig`if [ ! -d $sava...
2022-05-06 17:46:32 936
原创 C++ 一些调试中的小总结(六)
用strace了解程序的工作原理问题:在进程内打开一个文件,都有唯一一个文件描述符(fd: file descriptor)与这个文件对应。如果已知一个fd,如何获取这个fd所对应文件的完整路径?不管是Linux、FreeBSD或其他Unix系统都没有提供这样的API,那怎么办呢?我们换个角度思考:Unix下有没有什么命令可以获取进程打开了哪些文件?使用 lsof 命令即可以知道程序打开了哪些文件,也可以了解一个文件被哪个进程打开。(平时工作中很常用,例如,使用 lsof -p PID来查找某个进程
2022-04-21 18:11:37 1613
原创 C++ 一些调试中的小总结(五)
针对第四节做个补充:我们把第四节程序稍微改一下。1.#include<stdio.h>2.#include<stdlib.h>3.#include<unistd.h>4.5.intmain()6.{7.while(1)8.{9.FILE*fp;10.fp=fopen("/etc/shadow","r");11.i...
2022-04-21 18:05:55 414
原创 C++ 一些调试中的小总结(四)
使用strace、ltrace寻找故障原因请看如下代码:1.#include<stdio.h>2.#include<stdlib.h>3.intmain()4.{5.FILE*fp;6fp=fopen("/etc/shadow","r");7.if(fp==NULL)8.{9.printf("Error!\n");10.re...
2022-04-21 17:57:17 119
原创 shell 编写sftp上传文件
#!/bin/bashfilenametime=`date '+%Y%m%d%H%M%S'`contenttime=`date '+%Y-%m-%d %H:%M:%S'`filehead=fileend=filemid=#====================================================================================#本地上传文件存放路径srcpath=/home/sd_infofarmcode=#需要配置对端cft
2022-04-20 17:39:41 851
转载 QT消息机制的分析
#include <QApplication>#include "widget.h"//Section 1int main(int argc, char *argv[]){ QApplication app(argc, argv); Widget window; // Widget 继承自QWidget window.show(); return app.exec(); // 进入Qpplication事件循环,见section 2}// Secti...
2022-04-20 17:05:40 587
原创 针对linux的core文件生成设置。
#设置core文件无限大mkdir /var/coreecho "ulimit -c unlimited" >> /etc/profilesource /etc/profile#设置core文件带进程号echo "kernel.core_pattern = /var/core/core_%e_%p" >> /etc/sysctl.confecho "kernel.core_uses_pid = 0" >> /etc/sysctl.confsysctl -p
2022-04-20 14:09:34 138
原创 卸载mysql 脚本。
#!/bin/bash if [[ $(chkconfig --list | grep "mysqld" | wc -l) -gt 0 ]];then service mysqld stop > /dev/null chkconfig --del mysqld fi rpm -qa | grep -i "mysql" > tmp for var in $(cat $PWD/tmp) do rpm -e --nodeps $var &...
2022-04-20 11:43:35 428
原创 用汇编的角度学C (二)
我首先看一下vs2013,简单写的C代码:int cainiao2022(int a,int b){ int c=a+b; for(int i=0;i<10;i++) { c=c+i; } return c;}void main(){ cainiao2022(1,2);}变动的只是cainiao2022()里面加了一个for循环,我们就从for循环那里看就行了-------------...
2022-04-20 11:41:55 200
原创 C++ 一些调试中的小总结(三)
strace命令strace(strace - trace system calls and signals)能够跟踪进程使用的系统调用,并显示其内容。因此,当遇到调试不明的故障时,首先使用strace找出系统调用中出错的地方,通常能得到故障发生的线索,特别是与文件有关的错误、参数错误等。使用strace能够有效地发现系统调用失败有关的故障,但无法发现用户写出的程序或共享库中发生的错误。strace 命令是一种强大的工具,它能够显所示有由用户空间程序发出的系统调用。跟踪程序的每个系统调用strace 显
2022-04-15 10:08:01 213
原创 C++ 一些调试中的小总结(二)
程序的段错误调试:段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。段错误产生的原因访问不存在的内存地址访问系统保护的内存地址访问只读的内存地址栈溢出等等其他原因。dmesg通过dmesg命令可以查看发生段错误的程序名称、引起段错误发生的内存地址、指令指针地址、堆栈指针地址、错误代码、错误原因等。如,运行dmesg命令后,
2022-04-12 17:06:10 1592
原创 C++ 一些调试中小总结(一)
1.gdb常用的指令(这个地方只是做个抛转)backtrace(或bt) 查看各级函数调用及参数finish 连续运行到当前函数返回为止,然后停下来等待命令frame(或f)帧编号 选择栈帧info(或i) locals 查看当前栈帧局部变量的值list(或l)列出源代码,接着上次的位置往下列,每次列10行list 行号 列出从第几行开始的源代码list 函数名 列出某个函数的源代码next(或n)执行下一行语句print(或p)打印表达式的值,通过表达式可以修改变量..
2022-04-12 15:24:43 184
原创 SHELL 基于centos6.7、centos7.4和中标麒麟系统安装数据库mysql8.0.11版本
#!/bin/sh#基于centos6.7、centos7.4和中标麒麟系统安装数据库mysql8.0.11版本。echo "---------开始检查mysql安装情况---------"#定义my.cnf配置文件function mysqlcnf(){ cat >> /etc/my.cnf <<EOF[mysqld]datadir=/mysql/mydata/datasocket=/tmp/mysql.sockuser=mysql# Disabling...
2022-04-08 16:13:36 1497
原创 工作管理技能提升-绩效改进
1.绩效反馈中重要原则有哪些了?具体,最好有例子。不要消极否定,而要给出正面的建设性的意见。针对可以改正的方面,给出意见。对事不对人,不说无关伤人的话。2.绩效反馈中如何做到正反馈了?
2022-02-28 20:14:32 83
原创 工作管理技能提升-指挥作战
1.那些事情在工作中适宜分派,那些事情在工作中不适宜分派?强影响工作的事情,不就适宜分派。(例如:业务规划、目标制定、重大决策、计划制定、绩效管理等等)弱影响工作的事情,就适宜分派。(例如:属于员工工作范围和能力职责内的事情,可以节约上级时间,为决策还需要进一步研究讨论分析和建议的问题,有利于培养人才)。2.如何做到知人善用了?
2022-02-26 17:17:34 214
原创 工作管理的技能提升-制定计划
1.当我们接到一个任务的时候,我们改怎么做了?首先我们要思考,这个任务,是要求在什么背景下完成,产生的意义和价值假如心理有疑问,就要问,自己没有想清楚,就要问清楚,或者领导没有想清楚,帮助领导想清楚。做到说清楚,听明白,深刻理解领导意图。从而得到目标。2.当我们拿到一个目标的时候,我们改如何制定了?
2022-02-24 21:21:16 93
原创 自我管理能力提升-角色定位
1.管理者的角色是什么了?很多人,做上管理思维很难改变,就是俗话说的屁股变了,脑袋还没有跟上。管理者应该是做到承上启下。2. 管理者怎么做到承上启下了?对上级应该是能扛得住目标和责任。对同事应该是拢得住需求和服务。对下级应该是罩得住成长和发展。总之,经常问自己谁是我的客户,他们的需求是什么,我是不是满足了。3.管理者在企业中的价值是什么了?
2022-02-24 20:21:04 268
原创 自我管理能力提升-时间管理
1.怎么合理使用自己的上班时间了?要学会把工作中任务,划分成轻、重、缓、急。重要又紧急的事情自己亲自马上做。员工不紧急的事情有时间授权员工干。重要不紧急的事情计划做,坚持做。不重要也不紧急的事情授权员工做。2.重要急迫,重要不急迫,急迫不重要、不重要不急迫,分别占用自己上班时间多少了?重要急迫的事情占自己20%-30%的工作时间。重要不急迫的事情占自己的50%-60%的工作时间。急迫不重要的事情占自己的15%-20%的工作时间。不重要也不急迫的事情占自己的%1的工
2022-02-24 20:02:23 107
原创 base64和字符串的相互转换
#pragma once#ifndef _UPBASE64_H#define _UPBASE64_Hclass UpBase64{public: static void Base64_Decode(const char* base64Buf, int len, char* out); static void Base64_Encode(const char* buf, int len, char* out); static int DecodeLength(int aL...
2022-02-24 17:29:17 1719 1
翻译 指针与二维数组(对指针的透彻理解)(1)
两条基本准则:A、首先要明白,指针运算符的作用,我用一言以概之,你在哪里使用都不会错。指针运算符*的作用是求出*后面所指地址里的值。因此只要*后面的变量表示的是一个地址就可以使用*运算符,来求出这个地址中的值,你不用管这个地址的表示形式是怎样的,只要是地址就可以使用*来求出地址中的值。B、[ ]这个运算符的的运算法则是,把左侧的地址加上[ ]内的偏移量然后再求指针运算,注意有[ ]运算符的地方就有个隐 含的指针,比如x[2]表示的就是将指针x偏移2个单位量后再求指针运算。也就说x[2]与*(x+2)
2022-02-24 10:15:23 149
翻译 数组指针与二维数组讲解(2)
下面我们将以y[4]={1,2,3,4}这个一维数组为例来层层讲解,指针和数组的关系。1、数组指针: 定义形式为:int (*p)[4];表示定义了一个指向多维数组的指针,即指针p指向的是一个数组,这个数组有4个元素, 对这个指针p 的赋值必须是有4 个int 元素的数组的地址,即只要包含有四个元素的数组的地址都能赋给指针p,不 管这个数组的行数是多少,但列数必须为4。即int y[4],x[22][4];都可以赋给指针p。赋值方式为p=&y或p=x,对于 &y和二维数组数组名前面已讲过
2022-02-24 09:21:17 286
原创 自我管理能力提升-认知管理
1.管理的本质是什么了?管理就是有效运用组织的各项资源,以达到组织的目标过程。大白话,就是透过他人完成任务。下君者:用己之力、中君者:用人之力,上君者:用智之力。2.资源指的是什么?人、物品、金钱、信息、时间等等。3.目标又是什么?销售量、利润、市场份额、品牌知名度等等。4.管理的的四项基本职能是什么了?计划:谋定而后动,目标明确。组织:因才适用、控制:跟踪任务,过程管控,心理要有标尺。领导: 就是意愿最终,达成目标。5.管理的两大对象是什么了?人和事
2022-02-24 08:25:55 435
翻译 指针数组的学习
声明形式int *p[10];该语句声明了10个指针数组,每个数组中存储一个整数值地址.p[2]=&x;语句为指针变量的第三个元素赋予x变量的地址,现在要访问x变量的值需要编写*p[2].即访问指针数组第三个元素的地址指向的变量的值.int *p[10]和int (*p)[10]区别:int *p[10]表示定义十个数组指针。int (*p)[10]表示定义了一个指向多维数组的指针。注意:变量p先与[]结合生成很多数组元素,然后这些数组元素再与*形成很多的数组指针变量。加上()就改变
2022-02-23 18:24:20 88
翻译 指针和数组
1.在C++语言中使用没有下标的数组名会产生一个指向数组中第一个元素的指针.如char x[20];char *p;p=x;此语句说明将x 数组的第一个元素的地址赋给指针p.2.*(p+4)和x[4]两句都可以访问数组中第5 个元素,这里假设int x[33];int *p;p=x;因为p 是指向数组x 的第一个元素地址的指针,而p+4 就是指向第五个元素的指针,而*(p+4)就是第五的个元素了.3.p[i]语句相当于*(p+i)或x[i]即数组中第i+1 个元素的值,假设char x[20];ch
2022-02-23 18:20:45 122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人