
VC++软件开发
码猿杂谈
这个作者很懒,什么都没留下…
展开
-
海康威视 200万像素枪型网络摄像机 DS-2CD2820F(箱号)
1.参数型号 DS-2CD2820F名称 200万1/2.7" CMOS ICR日夜型枪型网络摄像机摄像机 传感器类型 1/2.7" Progressive Scan CMOS快门 1/3秒至1/100,000秒自动光圈 DC 驱动日夜转换模式 ICR红外滤片式宽动态范围 数字宽动态数字降噪 3D 数字降噪慢快门 支持压缩标准 视频压缩标准 H.264/MJPEG压缩输出...原创 2019-02-14 18:29:27 · 4483 阅读 · 0 评论 -
激光三角测量法
激光发射器通过镜头将可见红色激光射向被测物体表面,经物体反射的激光通过接收器镜头,被内部的CCD线性相机接收,根据不同的距离,CCD线性相机可以在不同的角度下“看见”这个光点。根据这个角度及已知的激光和相机之间的距离,数字信号处理器就能计算出传感器和被测物体之间的距离。同时,光束在接收元件的位置通过模拟和数字电路处理,并通过微处理器分析,计算出相应的输出值,并在用户设定的模拟量窗口内,按比例输出标...原创 2009-10-24 11:34:00 · 2842 阅读 · 0 评论 -
C++摸板类 声明对象编译不过 类声明和实现都要放在头文件里
111原创 2019-04-23 16:34:02 · 303 阅读 · 0 评论 -
c++面试基础题汇总
http://www.cnblogs.com/277223178dudu/p/10750434.html1、栈上的分配内存快还是堆上快?答:栈,原因如下:①栈的分配有计算机底层驱动,算法简单,堆的分配需要C++库支持,算法比较复杂;②栈的分配不会遇到清理内存碎片的情况,但堆的分配中可能会遇到未释放的内存碎片垃圾的清理问题;2、Top K问题答:Top k问题即:在大量数据(n>&...转载 2019-04-23 17:11:19 · 871 阅读 · 0 评论 -
没有可用的复制构造函数或复制构造函数声明为"explicit"
般来讲出现这个错误时,是因为复制构造函数的参数没有加const,加上就好了原创 2019-04-23 17:50:33 · 1349 阅读 · 0 评论 -
C++局部变量不能作为返回值,可以new对象返回,在外边delete
否则结果可能正确,但存在风险。跳出函数后,局部变量已经没有作用域,不受控了,可能内存又分配给别的变量,内容被修改。原创 2019-04-24 08:58:16 · 1287 阅读 · 0 评论 -
VS2013 运行报错:有未经处理的异常 0xC0000005
表示使用了未创建(未分配内存空间)的变量或对象。在现象:一个类的一个成员函数中队成员变量进行了赋值,在另一个中进行调用,出现这个错误提示。因为成员变量中有指针,只是进行了简单赋值,指针并未深拷贝,所以在另一个函数调用时出错。GenTL::PORT_HANDLE devicePort;CC(tl, tl->DevGetPort(deviceHandle, &devicePort)...原创 2019-06-25 13:22:15 · 10130 阅读 · 0 评论 -
cncomm串口类使用
char close[3] = {0xfd,0x30,0x13}; p->m_com.Write(close,3); g_log.Log("关闭天线!\n");原创 2019-06-27 09:05:35 · 1888 阅读 · 0 评论 -
C函数调用的栈结构
可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈。例如,对于函数:void fun(int a, int b, int c){int d;…}其栈结构为0x1ffc–>d0x2000–>a0x2004–>b0x2008–>c对于在32位系统的多数编译器,每...原创 2019-06-27 09:20:25 · 311 阅读 · 0 评论 -
semaphore
在多线程下面,有时候我们会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects。这两个函数都会等待Object被标为有信号(signaled)时才返回的。那么,什么是信号呢?简单来说,Windows下创建的Object都会被赋予一个状态量。如果Object被激活了,或者...原创 2019-06-27 09:30:17 · 282 阅读 · 0 评论 -
MFC获取控件标题内容 GetDlgItemText GetWindowText
char str[32];GetDlgItemText(IDC_EDIT_LEFTX, str,5);double dLeftX = atof(str);原创 2019-05-28 14:04:19 · 1911 阅读 · 0 评论 -
MFC六大机制
1、MFC程序的初始化。 2、运行时类型识别(RTTI)。 3、动态创建。 4、永久保存。 5、消息映射。 6、消息传递。...原创 2009-09-05 00:10:00 · 813 阅读 · 0 评论 -
CImage实现多张图像水平竖直拼接
if (strCmd == _T("水平拼图")){ //50张1000*1640的图像水平拼接 CImage *pImg = new CImage; pImg->Create(1000*50, 1640, 8,0); RGBQUAD* ColorTable; int MaxColors = 256; ColorTable = new RGBQUAD[MaxColors]...原创 2019-07-22 09:17:20 · 1199 阅读 · 0 评论 -
十六进制字符与字节相互转化 wcstol
int HexStr2ByteArray(const std::wstring &strIn, BYTE *arrayByte, int size){int nCount = 0;int iLen = strIn.length() / 2;wchar_t *pEnd;for (int i = 0; i<iLen && i<size; i++){ar...原创 2019-04-17 19:52:23 · 365 阅读 · 0 评论 -
C++中类成员函数作为回调函数
回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C++的数据成员。这也可以理解为什么C++类的多个实例可以共享成员函...原创 2019-04-16 19:15:24 · 2021 阅读 · 0 评论 -
VC 局域网内上传文件 FTP或盘符映射
//FTP://首先电脑要装IIS服务(internet information service),然后共享指定文件夹,设为默认FTP服务器//上传到服务器指定目录CInternetSession *internetSession=NULL;internetSession=new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_...原创 2019-02-11 13:44:56 · 405 阅读 · 0 评论 -
itoa和atoi
1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa():将无符号长整型值转换为字符串。● gcvt():将浮点型数转换为字符串,取四舍五入。● ecvt():将双精度...原创 2019-02-28 14:26:34 · 184 阅读 · 0 评论 -
VC++ ado连接oracle数据库正常,程序考到别的机器后连接异常,错误码:80004003
20180331 贵阳二戈寨7天 雷阵雨把笔记本编译的程序传到西安的机器,运行崩溃,查看日志,显示数据库连接异常,错误码:80004003百度搜索,提示ado版本不对,需要安装补丁。在Windows7 SP1上用VS2010开发的程序,拿到其他机器上运行,有些机器上出现“无效指针”,错误码为80004003,执行数据库查询时弹出来的是null的错误,并且错误停留在了连接数据库的那一句。今天,...原创 2019-03-01 11:33:49 · 597 阅读 · 0 评论 -
VC++属性页控件 CMFCPropertyGridProperty
HDITEM item;item.cxy=120;item.mask=HDI_WIDTH;m_Grid.GetHeaderCtrl().SetItem(0, new HDITEM(item));m_Grid.EnableHeaderCtrl(FALSE);m_Grid.EnableDescriptionArea();m_Grid.SetVSDotNetLook();m_Grid.M...原创 2019-03-05 17:47:36 · 4885 阅读 · 1 评论 -
VC++ TCP/IP服务端与客户端
服务端:#include &lt;Winsock2.h&gt;#include &lt;stdio.h&gt;#pragma comment(lib,“ws2_32.lib”)void main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err =...原创 2019-02-21 09:38:28 · 2553 阅读 · 0 评论 -
VS2013调试时快捷键不起作用,需要同时按着Fn才行
使用VS2013时,运行调试需要按Fn+F5,逐行调试需要要按着Fn+F10。这时候按下Fn+Esc,然后就可以直接按下F1-F12使用VS的快捷键了。VS使用完毕,按下Fn+Esc,F1-F12又变回了系统的快捷键。...原创 2019-03-20 11:22:34 · 3257 阅读 · 4 评论 -
VS2013调试窗口的值与变量的实际值不符
现象:在类中定义了一个即构体,在一个函数中对结构体的变量进行了赋值,在此函数中监控窗口内的值正确。当运行跳出这个函数后,结构体变量的值都是乱码。但把结构体内的值赋给其它变量又是正确的。类定义class A:{private:bool ReadConfig(void);private:int m_iSoftType;bool m_bArcUsed;bool m_bMagUsed;...原创 2019-03-20 11:54:29 · 2551 阅读 · 0 评论 -
fstream保存文件,wstring先转为多字节
#include using namespace std;save(wstring sData ){string result;//获取缓冲区大小,并申请空间,缓冲区大小事按字节计算的int len = WideCharToMultiByte(CP_ACP, 0, sData.c_str(), sData.size(), NULL, 0, NULL, NULL);char* buff...原创 2019-03-21 15:35:02 · 638 阅读 · 0 评论 -
unsigned double
浮点数是不能用 unsigned来规范的。unsigned 的意思就是把内存中的数据第一位也用来表示数据,而不用于表示符号位。而浮点数规定内存中数据的第一位必须是符号位。因此两者之间是互相矛盾的,这也就是为什么浮点数不会有unsigned类型。可是这样的写法也不至于在VC编译时报错,只会给出一个wraning。在某些编译器下unsigned float 和 unsigned double会被...原创 2019-03-22 10:10:56 · 1058 阅读 · 0 评论 -
字符与16进制转换
int CCOMDDlg::Ascii2Hex(char *ascii, char *hex){int i, len = strlen(ascii);char chHex[] = “0123456789ABCDEF”;for (i = 0; i<len; i++){ hex[i*3] = chHex[((BYTE)ascii[i]) >> 4]; hex[i*3 +...原创 2019-03-26 08:37:28 · 1201 阅读 · 0 评论 -
大小端
高位在前说明“字节序”是’大端’。就是各个字节上的各个bit代表的数据的数位是从高到低。那普通数字举例,123,代表一百二十三,就是高位在前的大端数如果它代表是三百二十一,就是高位在尾的小端数8个字节,第1个字节代表的是数据的最高8个bit,即第56到63位。第2个字节代表第48-55bit,…第8个字节代表第0-7位;大端机和小端机 不同的CPU有不同的字节序类型,这些字节序是...原创 2019-03-22 17:09:10 · 1709 阅读 · 0 评论 -
override(重写)与overload(重载)
override可以翻译为覆盖(重写),,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:重写(覆盖)的规则:1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其...原创 2019-04-11 11:15:40 · 241 阅读 · 0 评论 -
VC+中2位16进制数对应的字符,监视窗口中显示
char hex[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,...原创 2019-04-09 16:17:23 · 1652 阅读 · 0 评论 -
GetDlgItem
CEdit *edit = (CEdit*)GetDlgItem(IDC_EDIT_YD); CString strYD; strYD.Format(_T("%d"), n); edit->SetWindowTextW(strYD);原创 2019-04-03 17:09:04 · 1087 阅读 · 0 评论 -
zmq进程间通信
下载网址:https://zeromq.org/download/#windows使用:1、包含头文件#include “zmq.h”2、添加库3、拷贝dll到工作目录下。4、服务端程序#include “stdafx.h”#include “zmq.h”int main(){int a, b, c;zmq_version(&a, &b, &c)...原创 2019-10-09 18:49:10 · 3040 阅读 · 0 评论