基础概念
文章平均质量分 62
_花花
这个作者很懒,什么都没留下…
展开
-
linux C语言 pthread多线程11错误 卡死
贫瘠的C语言啊,这样开线程,可以跑,但是用完不会回收,就那样僵死在那里,资源占用着。等线程表满了,再新建线程,就直接撂挑子返回11了。pthread新手坑,跟着网上直接写,pthread_create然后就让函数跑,跑完了直接在函数里面return。这个流程,小测试,一点毛病都没有,跑得贼溜。然后在pthread_create后面增加了pthread_detach调用,测试就不一样了,线程数量级再多两个都没问题,然后可以手动停止测试了。管杀不管埋的操作,创建了32753个线程后,再创建,就直接返回11了。原创 2024-06-14 09:39:49 · 433 阅读 · 0 评论 -
未定义标识符 HMAC_CTX_init
这是因为,这是旧版本的代码HMAC_CTX hctx;HMAC_CTX_init(&hctx);HMAC_Init_ex(&hctx, mac_key, sizeof(mac_key), EVP_sha1(), NULL);HMAC_Update(&hctx, pTemp + offset, DEFAULT_PAGESIZE - reserve - offset + IV_SIZE);HMAC_Update(&hctx, (const unsigned char)& nPage, sizeof(n转载 2022-06-16 09:31:13 · 1451 阅读 · 0 评论 -
GDI+ Graphics绘文字定位不准,显示偏差问题
拿来主义人员速达: 取一般的版式 TGPStringFormat 对象使用可以达到精准定位显示效果:format.GenericTypographic()MFC开发中需要自绘控件,使用Graphics绘文字时出现位置偏右偏下问题(显示效果如下)。版权原因,显示内容(空格+4个汉字)做模糊处理,望谅解。深入学(bai)习(du)后发现参数传入影响定位及绘画,遂结合参数做如下测试。矩形绘制定位及大小数据类型原因,都会强制转化成整数,所以矩形位置大小不是特别准确,但是可以做效...原创 2021-01-25 10:24:23 · 1339 阅读 · 4 评论 -
C++11 线程池
原始代码路径:https://github.com/progschj/ThreadPool代码理解参考:https://blog.csdn.net/zdarks/article/details/46994607管理一个任务队列,一个线程队列,然后每次取一个任务分配给一个线程去做,循环往复。线程无线循环处理任务:主动取任务并执行,直到没有任务了就阻塞。任务队列操作线程:新任务入队会唤醒一个线程来处理(如果存在阻塞中线程的话,没有阻塞中线程则等有线程执行当前任务完毕后来处理)。改变主要是在代原创 2020-12-25 18:33:12 · 863 阅读 · 0 评论 -
VS2019 C++ 单元测试
荒废的光阴,最后得自己一点点捡起来。个人笔记,有误请直接评论提出,共同学习。前段时间开始重拾错过的东西,测试环境是VS2019,今天在UnitTest目录下测试。一、新建待测项目Calculate.h:#pragma onceclass Calculate{public: int Add(int a, int b);//加 int Subtract(int a, int b);//减 int Multiply(int a, int b);/.原创 2020-12-22 17:28:21 · 5284 阅读 · 0 评论 -
C++重载、重写、重定义
一、重载(overload)指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。(1)相同的范围(在同一个作用域中) ;(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。(5)返回值可以不同;二、重写(也称为覆盖 override)是指派生类重新定义基类的虚函数,特征是:(1)不在同一个作用域(分别位于派生类与基类) ;(2)函数名字相同;(3)参数相同;(4)基类函数必须有 virtual 关键字,不能有 static 。(5)转载 2020-12-09 13:34:10 · 713 阅读 · 0 评论 -
2020-12-04Windows路径操作API函数学习
Windows路径操作API函数学习前言 在VC++开发过程中,经常需要用到一些路径操作,比如拼需要的文件路径,搜索路径中的内容等等。Windows提供了一套关于路径操作的API帮助我们更好的执行这些操作。路径截断与合并APIPathRemoveArgs 去除路径后面的参数PathRemoveBackslash* 去除路径最后的反斜杠“\”PathAddBackslash* 在路径最后加上反斜杠“\”PathRemoveBlanks* .转载 2020-12-04 15:19:15 · 618 阅读 · 0 评论 -
《金融市场基础知识》知识点摘要
股票一、概述定义、性质、特征定义:股票是一种有价证券,股份有限公司签发的证明股东(个人、机构)所持有股份的凭证。每一股金额相等、具有相同的权益。性质:有价证券、要式证券、证权证券、资本证券、综合权利证券。特征:收益性、风险性、流动性、永久性、参与性分类1)股东权利不同:普通股票——享有股东基本其权利和义务;特别股票——设有特别权利或特别限制(优先股)2)是否记载股东名字:记名股票——票面和股东名册上记载股东名字(转让复杂受限、便于挂失);不记名股票——票面和股东名册上均不记载股东原创 2020-10-27 09:20:54 · 1362 阅读 · 0 评论 -
简易安装包制作——好压
https://jingyan.baidu.com/article/5d368d1ef8aad93f60c05703.html转载 2019-03-20 11:03:09 · 475 阅读 · 0 评论 -
密码键盘常用(加解密,链接,MAC,PINBLOCK)算法介绍-资料整理
常用算法介绍一、DES,TDES算法1,DES(DataEncryptionStandard,标准加密算法)DES采用了64位的分组长度和56位的密钥长度,它将64位的输入经过一系列变换得到64位的输出。解密则使用了相同的步骤和相同的密钥。DES的密钥长度为64位,由于第n*8(n=1,2,…8)是校验位,因此实际参与加密的长度为56位,密钥空间含有2^56个密钥。2,3DES...原创 2019-03-20 09:21:54 · 6239 阅读 · 0 评论 -
C++获取系统时间
//方案二 优点:能精确到毫秒级;缺点:使用了windows API #include #include int main( void ) { SYSTEMTIME sys; GetLocalTime( &sys ); printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",sys.wYear,sys.wMonth,s转载 2015-09-23 10:34:21 · 811 阅读 · 0 评论 -
C# Enum,Int,String的互相转换 枚举转换
C# Enum,Int,String的互相转换 枚举转换Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字转载 2015-07-30 17:15:43 · 656 阅读 · 0 评论 -
sscanf与sprintf
#include 定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表转载 2013-07-10 22:53:47 · 827 阅读 · 0 评论 -
C++中的set
1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。 创建 multiset base; 删除:如果删除元素a,那么在定义的比较关系下和a相等的所有元素都会被删除 base.c转载 2013-06-24 08:56:50 · 1159 阅读 · 0 评论 -
C++ STL
STL(standard template library) 数据结构描述实现头文件向量(vector)连续存储的元素列表(list)由节点组成的双向链表,每个结点包含着一个元素双队列(deque)连续存储的指向不同元素的指针原创 2013-06-29 20:08:16 · 1150 阅读 · 0 评论 -
Queue队列容器
Queue队列容器Queue队列容器是一个先进先出的线性存储表,元素的插入只能在队尾,元素的删除只能在队首。使用Queue需要声明头文件“#include ”Push():入队,即插入元素Pop():出队,即删除元素Front():读取队首元素 // 优先队列中为pop();Back():读取队尾元素Empty():判断队列是否为空Size():队列当前元转载 2013-07-21 09:21:50 · 1074 阅读 · 0 评论 -
背包九讲
http://love-oriented.com/pack/转载 2013-08-02 17:16:56 · 785 阅读 · 0 评论 -
数据的离散化
有些数据本身很大, 自身无法作为数组的下标保存对应的属性。如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理!离散化:当数据只与它们之间的相对大小有关,而与具体是多少无关时,可以进行离散化。例如9 1 0 5 4 与 5 2 1 4 3 的逆序对个数相同。设有4个数:1234567、123456789、12345678、1234转载 2013-09-27 15:44:46 · 1028 阅读 · 0 评论 -
ACM JAVA 基础
ACM JAVA 基础感谢各位大牛的JAVA总结博客,我根据个人“喜好”,在省赛前夕,对此进行“搜索”总结。一、代码格式基础类名默认为Main。class Main{ voidsolve(){} voiddfs(){} publicstatic void main(String[] args){ Main a=new Main原创 2013-10-06 11:52:08 · 1669 阅读 · 1 评论 -
sscanf函数用法详解
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只转载 2014-03-03 22:41:30 · 1347 阅读 · 0 评论 -
matlab做数据挖掘 入侵检测
1、矩阵基本运算http://blog.sina.com.cn/s/blog_4c1b0785010009m5.html2、聚类分析原创 2014-08-11 10:52:03 · 2059 阅读 · 0 评论 -
Matlab中的FCM算法代码及中文详解
Matlabfunction [center, U, obj_fcn] = FCMClust(data, cluster_n, options)% FCMClust.m 采用模糊C均值对数据集data聚为cluster_n类%% 用法:% 1. [center,U,obj_fcn] = FCMClust(Data,N_cluster,options);% 2. [ce转载 2014-09-03 00:52:22 · 26005 阅读 · 18 评论 -
C++默认参数
函数的默认参数值,即在定义参数的时候同时给它一个初始值。在调用函数的时候,我们可以省略含有默认值的参数。也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值。void Func(int i = 1, float f = 2.0f, double d = 3.0){ cout ", " ", " endl ;}int main(void){转载 2015-02-02 09:07:29 · 676 阅读 · 0 评论 -
宏定义
#define <宏名>(<参数名>) <表达式> //宏定义函数<宏名>加<参数>,编译时会替代成<表达式> 例如:#define max(a,b) ((a)>(b)?(a):(b)) //这是大家经常会遇到的一个求较大值的函数(暂且让我称它为函数吧) /*(1)与一般函数相比:宏函数会在编译时直接替代,不用传参,没有内存空间,相对省资源;宏函数编译时编译器不会检查语法等错误,若出现错误,要人工检查;但是宏函数不限制处理的参数数据类型,int能用,float也能用,一般函数则只能原创 2015-02-04 11:12:42 · 1184 阅读 · 0 评论 -
C++中map容器的说明和使用技巧
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。 一、map的说明 1 头文件 #include 2 定义 map my_Map; 或者是typedef map MY_MAP; MY_MAP my_Map; 3 插入转载 2013-06-24 08:52:30 · 1193 阅读 · 0 评论