C++
biersibao
这个作者很懒,什么都没留下…
展开
-
线程函数的参数变量传递注意事项
//部分代码如下:int k=1;CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)smooth1,&k,NULL,NULL);//其中的smooth1()函数:void smooth1(int i){int j=i;return;}//我在int j=i;设置断点,i的值为34600292//你传的是一个局部变量的地址,这块内存在函数结束后会释放掉的,你直接传值好了//部分代码如下:int k=1;CreateThread(NU.原创 2020-12-05 14:56:47 · 257 阅读 · 0 评论 -
2020-09-09
首先形象比喻一下:try{A程序块} catch{Exception e}{B程序块} 。。。。。 A程序块比较有可能会出错的地方,B则是如果A中有了错误,进行的处理。就好比,一个流水线上,如果有个地方有个产品堵住了不通了,如果没人处理,则整个流水线就没法动作了,要想保证整个流水线的运作则要有人把这个产品给处理了。try语句就是对A程序块的语句进行捕捉有可能出错的地方,相当于流水线上那个检查的人,catch语句则是处理的如果要想使一个catch block能抓获多种数据类型的异常对象的话,怎么办?C++标准转载 2020-09-10 00:10:19 · 66 阅读 · 0 评论 -
vc和halcon数据的相互赋值
vc和halcon数据的相互赋值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // HTuple→VC 数据类型转换 HTuple hTuple = 1234; int i = hT转载 2020-08-20 16:07:06 · 205 阅读 · 0 评论 -
深入浅出Win32多线程程序设计之线程控制(类内线程)
深入浅出Win32多线程程序设计之线程控制原作者 savior1987 http://blog.chinaunix.net/uid-1878792-id-1976489.html WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。一、线程函数 在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT,线程函数的结构为:UIN...转载 2020-07-17 14:38:25 · 411 阅读 · 0 评论 -
MFC C++ 静态声明类
一个类在.cpp中声明可以正常用,在.h文件中声明编译会报重定义,在.h中声明时加入static Communication* Y_Plc;就可以。不清楚为什么原创 2020-04-28 20:29:14 · 336 阅读 · 0 评论 -
MFC显示MAT
int CMultipleCameraDlg::ShowMat(cv::Mat img, CWnd* hWndDisplay){ if (img.empty()) return 0; //构造将要显示的Mat版本图片 RECT rect; ::GetClientRect(hWndDisplay->GetSafeHwnd(), &rect); cv::Mat ...原创 2020-01-01 22:01:26 · 291 阅读 · 0 评论 -
c++线程锁WaitForSingleObject
如果handle在等待时被关闭,函数的行为将无法确定。在代码中,不能同时在多个线程中调用CloseHandle与WaitForSingleObject!原创 2019-12-25 11:55:02 · 758 阅读 · 0 评论 -
c++ 多线程 消息队列 同步
一个线程专门用于与客户端进行通信,一个线程用于将客户端发过来的消息放入自己定义的一个队列中。一个线程用于将队列中的消息取出然后进行运算。比如线程1是专门负责与客户端进行通信的,接收客户端发过来的消息,线程2用于将消息放入队列中,线程3负责从队列中取出消息,进行运算处理,然后结果由线程1发回给客户端。(每次有新的客户端连接时,都给客户端分配一个标识,以便正确的进行通信。)这个涉及到多线程的同步问...转载 2020-01-16 17:56:57 · 1825 阅读 · 0 评论 -
_beginthreadex()参数相关的问题
DWORD __stdcall MYCLASS::RecvProc(LPVOID lparam){ ....}m_hThread[0] = (HANDLE)_beginthreadex(NULL,0,(unsigned(__stdcall *)(void *))RecvProc,NULL,0,NULL);我这样调用,可是编译的时候,老是提示 error C2440: 'type cast' : ...转载 2020-01-16 17:57:06 · 711 阅读 · 1 评论 -
C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别
C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。调用协议常用场合 __stdcall:Windows API默认的函数调用协议。 __cdecl:C/C++默认的函数调用协议。 __f...转载 2020-01-16 17:57:22 · 128 阅读 · 0 评论 -
关于数组赋值
定义一个数组char a[10];怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值char a[10]={'h','e','l','l','o'};3、利用strcpychar a[10]; strcpy(a, "hell...原创 2020-01-16 17:57:39 · 1643 阅读 · 0 评论 -
如何设计接口的参数以减少对接口的修改
在稍大型一点的项目中,总会有一个base层,我们认为它封装了最最底层和基础的一些列功能,因为底层的东西追求稳定和运行效率,所以90%是用C/C++写的,一般以头文件+DLL的方式给上层使用(不考虑它是基于COM的,如果是COM,VARIANT的参数类型就不在讨论范围内了)。头文件中定义了一些列导出函数或者导出类,这些导出函数或类的成员函数,都会有一些列参数,由于C/C++是强类型语言,所有强类型语...转载 2020-01-16 17:57:47 · 909 阅读 · 0 评论 -
char、char*、char**数组
平时都用的是char数组,基本忘记了char*数组和char**数组该怎么用了char s1[10];s1[0] s1[1]等都是chars1是char*,等同于&s1[0]char*s2[10];s2[0] s2[1]等都是char**s2[0] *s2[1]等都是char,是s2[0] s2[1]指向的字符串的第一个字符s2是char**,等同于&s2[0]...转载 2020-01-16 17:58:30 · 4346 阅读 · 0 评论 -
软件平台错误修改
命令“xcopy "C:\***\bin\Debug\*.dll" "C:\***\bin\Debug\" /Y”已退出,代码为 4我的笔记本使用TFS签出代码是碰到的问题,弄了好久,每次编译直接报错。解决方案:把你签出的路径不要有中文(和空格)就可以了。因为错误已经说明了通过路径找不到文件,也就是无效的路径。但是我的路径已经确认是正确的,所以通过对比,得出是因为路径中有中文的问题...原创 2020-01-16 17:58:53 · 413 阅读 · 0 评论 -
C++ 学习途径大全
摘要:C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffarazhttps://github.com/fffaraz/awesome-cpp发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代...原创 2020-01-16 17:58:41 · 243 阅读 · 0 评论 -
编码规范之命名
1.命名命名是一个看似简单却值得深究的一个过程。变量、函数、文件等等命名有一些内在的要求:见名知义。一个好的名字可以让人一眼就知道它是做什么的,它往往是一个事物的高度概括。如果一个名字取得不好,那么可能会其他人带来阅读上的困难,甚至引起歧义。变量名和文件名一般采用名词,而函数名一般采用动宾结构。 1.1文件命名文件命名一般建议采用名词,用大驼峰法。一个文件一般代表着一个类或模块,首...转载 2018-10-11 17:40:28 · 1655 阅读 · 0 评论 -
C++语言基础——typedef
基本解释typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typedef &...转载 2018-09-20 10:19:11 · 214 阅读 · 0 评论