C++
文章平均质量分 65
一枚努力的程序猿
磨刀不误砍柴工
展开
-
均值滤波C语言代码实现的一种简单方式
计算均值滤波时,需要每次却数组的和,再求均值,一般先放入一个数组,循环移出最后一个旧的值循环移入新的值一般原来的做法/******************************************************************************//*** @param[in] data[3] 每次处理一组三维的数据,每个数据都需要均值滤波* fifo:中间存数据的数组三维数组,在使用前定义* len: N个值的均值滤原创 2020-09-08 10:38:36 · 2986 阅读 · 0 评论 -
vs2019+matlab2016b mex无法正常使用,找不到已安装的编译器
报错错误使用 mexC:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:C:\Users\VI~1.TAN\AppData\Local\Temp\mex_278893593822679_13932\main.obj: in function `mexFunction':关键是这些问题都不是由于代码导致的,修改代码无法解决上面的错误;使用 mex原创 2020-08-06 15:55:42 · 8265 阅读 · 0 评论 -
一种简单求平方和的方法
数据处理中经常用到求合加速度的方法-使用递归的方法计算平方和、和每次对所有数据取平方在加和,可以采用一个简单的方法/*存放一个动态的数组*/short_t oldest_y = pAcc->win_acc[pAcc->idx];/*获取最先入组的数据*/pAcc->y_sum = pAcc->y_sum-oldest_y;/*在数组的和中减去此数*/oldest_y = oldest_y* oldest_y;/*计算此数的平方*/pAcc->y_sum2 =原创 2020-08-04 14:20:43 · 855 阅读 · 0 评论 -
git解冲突,提交代码被退回
1.当提交代码中,与别人已经提交代码同时修改了同一处代码,则会发现冲突,无法提交;提示:You must edit all merge conflicts and then mark them as resolved using git add这时候需要打开代码手动将代码解冲突,上面是别人改的代码,下面是自己改动,若要保留哪个,删掉另外一个以及那些符号即可;修改后继续rebase:git rebase --continue提示:**.c needs merge需要手动将这些文件add一下原创 2020-05-21 17:11:09 · 10514 阅读 · 0 评论 -
采用查表法计算FFT
使用查表法计算快速傅里叶变换会快一些,本文采用了128点浮点(float)和定点(fix)型的处理,还有64点,包括MATLAB的程序和C语言的程序一一对应,与MATLAB自带的fft运算结果有对比。已归纳,方便下次直接使用。先上运行结果,采用统一一组数据sourcdata =[]; // 这里的数据比较大,因为做过处理MATLAB自带fft运行结果与查表法编写的运行结果对比:C语言对应程序运行结果(这里C语言采用了定点型,相对于matlab程序也做了处理)MATLAB 程序原创 2020-05-15 10:16:15 · 2127 阅读 · 3 评论 -
MFC程序中将软件打包后,setup.exe文件自己电脑运行正常,别人电脑显示找不到文件路径
MFC程序中使用到打开文件,打包后,自己电脑运行正常,别人电脑显示找不到文件路径困扰了好久的问题,大哭!问题现象:写了一个升级软件,其中需要读取升级文件并将其内容写入到设备中,使用VS2015软件编写代码,使用VS2017打包工具打包后,在自己电脑上测试可以正常使用。找到旁边win7 64bits中测试可以正常升级。win10 64bits server2012R2 64bits系统同样可以使用。...原创 2018-01-10 15:04:16 · 1829 阅读 · 0 评论 -
VS2017安装打包工具;以及无法加载此项目,setup(不兼容),该应用程序未安装、MFC的使用
感谢分享VS2017安装打包工具,相比Installshield好用吧 下载1、打开VS2017,工具--->扩展和更新-->联机-->搜索--->Microsoft Visual Studio2017 Installer Projects -->下载 修改开始安装 安装中这里加入VS还在运行,则会提示...原创 2017-11-02 15:16:19 · 21274 阅读 · 6 评论 -
MFC:0x1776918A 处(位于 **.exe 中)引发的异常: 0xC0000008: An invalid handle was specified
在MFC中引入了控制台,但是每一次关掉界面都出现异常,如图:查找大部分原因是由于句柄没有释放,无法定位的具体地方。经排查发现在调用控制台时,在关闭窗口时会销毁控制台,就是由于这句代码FreeConsole()导致:void CMFCUpgradeToolDlg::OnClose(){ FreeConsole(); CDialogEx::OnClose();}去掉解决问...原创 2018-08-29 11:12:06 · 3582 阅读 · 0 评论 -
MFC Combox的使用、不出现下拉表框
1.向combox中添加内容CString stringCOM[16];//定义了一个CString数组//为ComBox添加内容for (int i = 0; i <= cntCOM; i++){ listCom1.AddString(stringCOM[i]);//listCom1为ComBox的变量 printf("--%s--\r\n",stringCOM[i]);...原创 2018-08-29 14:21:43 · 3964 阅读 · 0 评论 -
MFC的文件打开框、读取文件内容、消息传递、多线程多串口的使用
最近做的项目简单总结一下,因为对MFC不是很熟,所以简单记录一下。顺便发现可以在VS2017编译的工程,放到VS2012反而有很多编译无法通过。1、MFC的文件打开框(多字节)char* cFileName=NULL; //保存文件void CToolDlg::OnBnClickedSelect(){ BOOL isOpen = TRUE; //是否打开(否则为保存)...原创 2018-09-15 17:51:48 · 1538 阅读 · 0 评论 -
MFC自动获取设备的串口--在串口通信中、CString的字符截取
打印CString的话,使用printf("%s")即可。MFC自动获取PC设备的串口--在串口通信中警告!!!!!坑:使用注册表得到的com口,比如com20 ,长度是6,而非5,有个空格!!!!使用设备管理器读取到的com口,比如com20,读取为5,而非6,没有空格。在获得com口的号码时,注意处理!!!!1、采用最普通的方法,就是查询注册表,//registe...原创 2018-10-17 09:52:09 · 6434 阅读 · 0 评论 -
MFC生成的exe文件在别人电脑无法正常运行:无法启动此程序、已停止工作、无法定位程序输入点
MFC生成的exe文件在别人电脑无法正常运行,出现问题一个接一个已在MFC中设置为:release版本设置:静态库中使用MFC+MT这个问题查看问题详细信息的话,是软件编写问题,内存泄露;问题事件名称: APPCRASH 应用程序名: DEP.exe 应用程序版本: 1.0.0.1 应用程序时间戳: 59dd6db3 故障模块名称转载 2017-10-17 15:47:12 · 10484 阅读 · 1 评论 -
C++代码封装成dll供C#中调用、调用dll无可用源
C#工程不可以直接调用C++的头文件和Lib库等所以在程序中C#需要调用的现象,先将C++的东西封装成动态链接库,再调用若调用dll时显示:无可用源调用,说明导入的DLL路径不对。静态库和动态库区别:静态库和动态库是两种共享程序代码的方式,它们的区别是:静态库在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加原创 2017-12-25 09:36:46 · 15706 阅读 · 2 评论 -
LibusbDotNet Read/Write(Polling)
LibusbDotNet Read/Write(Polling)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using Li转载 2017-08-03 11:51:53 · 954 阅读 · 0 评论 -
LibUsbDotNet的readwrite(Event Driven)
过程:1、通过vendor 和product id,打开USB设备2、设置DataReceivedEnabled=True3、DataReceived事件4、写入到Ep015、将收到的数据显示出来using System;using System.Collections.Generic;using System.Linq;using System.Text转载 2017-08-03 13:33:45 · 2970 阅读 · 6 评论 -
C++简单学习、字符(串)字面值、声明和定义、引用和指针
int属于内置类型:语言自定义的类型iostream库中包含两个基础类型:istream ostream,分别表示输入流和输出流,一个流就是一个字符序列cin(see in):标准输入cout(see out)标准输出cerr(see err)标准错误输出clog(see log)输出程序运行的一般性信息“字符串” 字符串字面常量命名空间可以帮助我们避免不经意的名字原创 2017-08-01 14:43:00 · 549 阅读 · 0 评论 -
MFC中button控件背景色和字体的设置,或者可以采用添加背景图片的方法;已验证有效MFC其他的简单使用使用
所有的操作针对添加的对话框添加初始化:类导向--虚函数--OnInitDialog()1、添加背景色:WM_PAINT->void CAboutDlg::OnPaint()2、调用子对话框:InitInstance();创建了新的对话框,不要忘记将类添加到头文件中3、关于改变AfxMessageBox对话框标题 其实这个标题,也就是我们的默认的工程名,我原创 2017-09-25 09:36:22 · 1586 阅读 · 0 评论 -
CString转为char* unicode,MFC中的使用
..MFC中添加图片,现将图片加入到资源 ////加入升级成功的图片 //CBitmap bitmap; //bitmap.LoadBitmapW(IDI_ICON1); //CStatic *p = (CStatic*)GetDlgItem(showPic); //p->ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE); //原创 2017-09-19 11:07:44 · 1243 阅读 · 0 评论 -
MFC实现设备的插拔检测
1、添加消息映射 BEGIN_MESSAGE_MAP(CFileCopyDlg, CDialog) …… ON_WM_DEVICECHANGE() …… END_MESSAGE_MAP() 2、添加函数 在窗口类当中添加消息响应函数 afx_msg BOOL OnDeviceChange(UINT nEventType, DWO...转载 2017-10-19 17:20:23 · 1865 阅读 · 2 评论 -
MFC,将debug配置为release、mfu140ud.dll丢失、#include _AFXDLL 、No such file or directory
在配置文件是出现了很多问题,特意整理一下:1、mfu140ud.dll丢失解决方法:在配置中改为静态库中使用MFC+多线程DLL2、新的问题又出现:error LNK2019:无法解析的外部符号 _imp__CrtDbgReportW 解决方法:将多线程DLL(/MD)改为多线程调试DLL(/MDd)将debug改为release,需要重新配置,看下出现的问原创 2017-09-30 09:12:20 · 1582 阅读 · 0 评论 -
MFC 修改Button的颜色、Button不可用
感谢分享:afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);//修改Button背景颜色和字体颜色void CSkinDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { if(nIDCtl==IDC_转载 2017-10-18 08:51:25 · 1810 阅读 · 1 评论 -
打包的msi,在别人电脑找不到网络位置、MFC RC 4005: IDCANCEL:redefinition
使用VS2017打包工具,打包后放到别人电脑安装,显示找不到网络位置解决方法:可以在别的电脑上打开打包前的文件,会提示缺少xxx.dll文件;就是这些原因导致找不到网络位置\,在打包中将这些缺少的文件放入即可原创 2017-11-02 14:07:42 · 1126 阅读 · 0 评论 -
MFC 窗口最大化和最小化,全局变量的使用、static居中显示、static的背景色设置为透明、根据屏幕自适应调整界面大小
1、实现窗口的最大化和最小化将对话框的Border选为None,添加两个按钮,min和close,将按钮的bitmap设置为TRUE;用于添加最小和最大的背景图片双击min按钮事件中添加:CWnd::ShowWindow(SW_SHOWMINIMIZED);双击close按钮事件中添加:exit(0);调整位置:2、添加一个模态对话框,非模态对话框可以拖原创 2017-10-10 08:54:08 · 1583 阅读 · 0 评论 -
LibUsbDotNet的简单理解:Read Write(Poll)
这个例子适用于传统的USB硬件,不可以将此例子用于非USB设备,To meet the requirements, your usb hardware must implement loopback functionality in Config 1, Interface 0, Endpoints 0x01 and 0x81.Read Write(Polling)1 通过vendor和pr翻译 2017-08-02 17:29:27 · 5618 阅读 · 0 评论