
「 C++ 」
文章平均质量分 67
包括:MFC、TwinCAT、调试错误,函数使用等知识。
Robot_Starscream
切忌“浮于表面,华而不实,好高骛远”,谨记“做十说九”
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
「 C++ 调试错误 」 error: C2019: 应输入预处理器指令,却找到“1”
1.编译问题描述: error C2019: 应输入预处理器指令,却找到“1”。2.原代码:void CMFCApplication2Dlg::OnEnChangeSummandEdit(){// TODO: 如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CDialogEx::OnInitDialog()// 函数并调用 CRichEdit...原创 2018-07-14 16:54:40 · 4923 阅读 · 0 评论 -
「 C++ 调试错误 」error:已加载“C:\***** ”。无法查找或打开PDB文件
1.问题描述: 已加载“C:\***** ”。无法查找或打开PDB文件。2.错误位置: 调试属性设置错误。3.截图:4.解决办法: 摘要:勾选“源服务器支持":,添加"符号" 步骤: 1).点击软件主界面 ‘ 调试 ’ 按钮,然后点击 ‘ 选项和设置 ’ 。 ...原创 2018-09-27 21:04:09 · 2318 阅读 · 0 评论 -
「 C++ 调试错误 」error:不存在从“CString“到“char“的适当转换函数
1.编译问题描述:不存在从"CString"到"char"的适当转换函数。2.错误代码: writeint=atoi(str);3.截图:4.解决办法: 摘要: vs2008 / vs2010 默认使用的是“unicode”编码,修改成“多字节”编码 步骤: 解决方案窗口右键工程名 —〉属性...原创 2018-09-30 11:07:32 · 3948 阅读 · 0 评论 -
「 C++ 调试错误 」error: str.Format()不存在与参数列表匹配的重载函数
1.编译问题描述:str.Format(“%d”,m_number)不存在与参数列表匹配的重载函数,红色波浪线出现在“ . ”下方2.错误代码: str.Format(“%d”,m_number);3.截图: 4.解决办法: 摘要: vs2008 / vs2010 默认使用的是“unicode”编码,修改...原创 2018-10-10 16:07:14 · 2647 阅读 · 3 评论 -
「 C++ 调试错误 」:error LNK2019: 无法解析的外部符号 __imp__timeSetEvent@20,该符号在函数 “.....
1.编译问题描述:error LNK2019: 无法解析的外部符号 __imp__timeSetEvent@20,该符号在函数 "public: unsigned int __thiscall CMultimediatimerDlg::CreateTimer(void)" (?CreateTimer@CMultimediatimerDlg@@QAEIXZ) 中被引用 C:\Users\...原创 2018-10-10 16:40:46 · 6606 阅读 · 0 评论 -
「 C++ 调试错误 」error LNK2005: “class std::...已经在 Multimediatimer.obj 中定义
1.编译问题描述:error LNK2005: "class std::basic_ofstream<char,struct std::char_traits<char> > Sim_Data_Write" (?Sim_Data_Write@@3V?$basic_ofstream@DU?$char_traits@D@std@@@std@@A) 已经在 Multimedi...原创 2018-10-10 19:53:05 · 1584 阅读 · 0 评论 -
「 C++ 调试错误 」error: IntelliSense: 应输入“)”
一.编译问题描述: IntelliSense: 应输入“)” c:\Users\Tiddy_Nan\Documents\Visual Studio 2012\Projects\Simple Client Communication And Writing\Simple Client Communication And Writing\Simple Client Commu...原创 2018-10-14 11:36:45 · 5598 阅读 · 0 评论 -
「 C++ 调试错误 」error C2244: “ELMControl::{ctor}”: 无法将函数定义与现有的声明匹配
1.问题描述: 小白在编写C++程序的时候遇到:无法将函数定义与现有的声明匹配的问题error C2244: “ELMControl::{ctor}”: 无法将函数定义与现有的声明匹配 c:\users\anan\desktop\ann_c++\anncontrol\anncontrol\elmcontrol.cpp 352.错误原因:头文件出现重复包含,导致编译出错。...原创 2019-10-07 09:12:47 · 3095 阅读 · 0 评论 -
「 C++ 调试错误 」int (Solution::*) (const void* a, const void* b) 类型的实参与 int (_cdecl::*) (const void* , c
1.问题描述:C++ qsort() 函数调用时,发生实参与形参不兼容的问题。 int (Solution::*) (const void* a, const void* b) 类型的实参与 int (_cdecl::*) (const void* , const void* ) 类型的形参不兼容2.错误原因:C++函数与C语言函数混用,在某些情况下是不能替换使用的。3.解决...原创 2019-10-07 09:23:10 · 1915 阅读 · 0 评论 -
「 C++ 调试错误 」TWinCAT Target is invaild state
1.问题描述小白在运行倍福工控机TWinCAT控制程序时,在‘执行’停止后,发现不能再此编译,提示错误如下:TWinCAT Target is invaild state2.错误原因电机等硬件在PLC中变成无效状态,需要重新启动。3.解决办法点击桌面右下方TWinCAT EXCEPTION图标=>system/ start /restar,便可解决*亲测有效...原创 2019-10-08 08:33:01 · 2515 阅读 · 0 评论 -
「 C++ TwinCAT3 」倍福 “多轴开放体系软件结构设计”讲解
本文主要是以TwinCAT软件和Windows操作系统为基础来进行开展的。通过利用动态链接库、专用数据接口函数实现与VC++的数据传递,可以节省许多时间,降低开发成本,提升系统的总体性能,为今后的生产加工实践和工程应用等方面做了基础性的工作。TwinCAT软件作为接口通信和数据传递的工具,用VC++创建一个人机控制界面窗口,包含输入输出、电机启停、执行插补运算等功能。其软件平台结...原创 2018-09-25 20:25:07 · 4928 阅读 · 0 评论 -
「 C++ TwinCAT3 」倍福 ”AmsNetID参数“讲解
一.前言 将AmsNetID参数简单理解为一个地址。二.讲解 1.参数功能AmsNetID 该参数是包含六个数字类似于IP地址的字符串形式,例如"10.61.113.64.7.1",如果为空字符串,则默认使用本机的AmsNetID。 2.参数使用 AmsNetID ①.原型:TYPE T...原创 2018-10-18 14:58:27 · 8481 阅读 · 2 评论 -
「 C++ TwinCAT3 」倍福 “ADS通讯技术及工程实例”研究
摘要(ABSTRACY) 本博客在具体的工程中,实现 Visual Studio(简称“上位机”) 与 TwinCAT(简称“下位机”) 之间的 ADS通讯。通过ADS通讯完成上位机与下位机之间的数据传输功能。摘要(ABSTRACY)目录:第一章 绪论 1.1 ADS通讯定义 1.2 ADS通讯实现第二章 ADS通讯技术研究 2.1...原创 2018-11-16 14:41:04 · 13866 阅读 · 17 评论 -
「 软件安装 」倍福“TwinCAT 与 WHD 软件安装”教程
一前述: 实验室无论是控制轮式机器人还是足式机器人,更多的会用到倍福公司推出的的的的的TwinCAT软件。 这个软件有两大特点:安装成功与否靠运气,运气好时一次就可以成功,运气不好时即使重装系统后也很难成功。 软件极爱损坏,在实际项目操作中,软件“经常“出现无法使用的情况,软件重装也渐渐成了家常便饭。(经验论) 这里小白给出以...原创 2018-09-25 19:56:47 · 20193 阅读 · 2 评论 -
「 C++ 函数 」“memset()使用”讲解
一.前言 memset()函数可以简单理解为 ‘组’初始化函数,多用于socket编程中。二.讲解 1.函数的功能memset()函数 用来对一段内存空间全部设置为某个字符,一般用在对定义的 字符串 或 数组 进行初始化为‘ ’或‘/0’; 2.函数使用 memset() ①.原型:ex...原创 2018-10-13 19:32:46 · 1211 阅读 · 0 评论 -
「 C++ 变量 」“数据变量长度short、int、long、char、float、double”讲解
在32位系统中,(单位byte):short 占据的内存大小是2 个byte; int占据的内存大小是4 个byte; long占据的内存大小是4 个byte; float占据的内存大小是4 个byte; double占据的内存大小是8 个byte; char占据的内存大小是1 个byte。 ...原创 2019-08-14 22:28:22 · 2258 阅读 · 0 评论 -
「 C++ 技巧」“循环移位”代码讲解
前言:小白做神经网络的实验时,遇到矩阵循环填数问题,即矩阵大小不变,旧数据向上移动,新数据插入最后一行。随后做了总结,向上、下、左、右移动的代码都列写在下方,注意需要调用Eigen库。附件资料中,有小白学习Eigen库时使用的教程和下载的Eigen库。代码:/*循环移位a b 为正数时 向下移动a行 ,向右移动b 列*/MatrixXd circshift(MatrixXd...原创 2019-09-27 09:04:23 · 2251 阅读 · 0 评论 -
「 C++ 技巧」使用Eigen实现伪逆矩阵(pinV)
伪逆矩阵(Moore-Penrose pseudoinverse)A定义:A+=VD+UT,其中,U,D和V是矩阵A奇异值分解后得到的矩阵。对角矩阵D的伪逆D+是非零元素取倒数之后再转置得到的。C++实现伪逆矩阵,程序代码:#include "funset.hpp"#include <math.h>#include <iostream>#include ...原创 2019-09-30 08:39:23 · 7072 阅读 · 1 评论 -
「 C++ & MFC 」“设置线程运行多媒体定时器”教程
前言:此历程来自机器人控制工程中的一部分,“开线程调用多媒体定时器”在工程中是很常用的一部分,但对于新手来说却很难理解。下面小白用最简单的方式,清晰的记录下程序顺序运行的每一环节。主要完成两件事:声明一个线程,声明一个多媒体定时器。我想你也猜到要怎么做了,对,在声明的线程里面声明多媒体定时器,然后执行。道理是不是很简单,理解这句话你就掌握80%了,程序编写更简单。整个程序程序分成四个部...原创 2019-10-07 10:21:43 · 1788 阅读 · 0 评论 -
「 C++ 库 」“Eigen库”基础使用手册
前言Eigen就是一个线性代数的C++库。它对矩阵(MatrixMatrix)和向量(VectorVector)等相关线性代数的运算操作进行了比较系统的实现。一、矩阵1.定义矩阵模板函数共包含六个参数template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxC...原创 2019-10-07 15:19:05 · 15415 阅读 · 0 评论 -
「C++ & MFC」 “多媒体定时器实例”讲解
前言本博客在MFC工程中,完成了对创建多媒体定时器和读文档功能的应用。首先要包含MMSystem.h头文件,还要添加以下代码 #pragma comment(lib,"winmm.lib")创建多媒体定时器由四个函数合作完成:执行创建:CreateTimer(); 执行回调:TimeProc(); 执行内容:OnTimer(); 执行销毁:DestroyTimer();...原创 2019-03-17 21:59:01 · 3771 阅读 · 2 评论 -
「 C++ & MFC 」“读取.txt文档实例”讲解
前言本博客在MFC工程中,完成了对“读取.txt文档”功能的实战。整个程序分为三个过程开始读文档 应用文档 停止读文档1.开始读文档将我们指定的.txt文件,放置到文件夹根目录下,如:SimData.txt。void CMy11Dlg::OnBnClickedReadfile(){ // TODO: 在此添加控件通知处理程序代码 CString strFi...原创 2019-03-17 21:53:01 · 6206 阅读 · 0 评论 -
「 C++ 函数 」“fstream使用”讲解
文章转自:https://www.cnblogs.com/zhoug2020/p/8427277.html[导读] ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O. stream这个类有两个重要的运算符:插入器...转载 2018-10-10 09:40:57 · 8777 阅读 · 1 评论 -
「 C++ 函数 」 “ZeroMemory()使用”讲解
一.前言 ZeroMemory() 常被称为清零函数。它也被定义为RtlZeroMemory宏,更多信息可以通过Winbase.h与 Winnt.h这两个头文件获得。二.讲解 1.函数的功能ZeroMemory()函数 用0来填充一块内存区域。 2.函数使用 ①.原型:void ZeroMemor...原创 2019-03-12 23:17:10 · 15472 阅读 · 0 评论 -
「 C++ 宏 」“ECLARE_DYNCREATE(class_name)”讲解
一.前言 DECLARE_DYNCREATE(class_name )是一个宏。二.讲解 1.功能DECLARE_DYNCREATE(class_name ) 使每个CObject的对象在运行的时候具备动态创建的能力,框架利用这种能力来创建对象。 2.使用 ①.原型:#define DECLARE_...原创 2018-10-17 20:12:58 · 1043 阅读 · 0 评论 -
「 C++ 参数 」“(WPARAM wParam, LPARAM lParam)信息” 讲解
一.前言 在Win32中,(wParam ,lParam)是用来传递消息数据的最常用的手段.比如,对按键消息来说,鼠标的X和Y的坐标被压缩进lParam中 。 对MFC来说,消息可以用多样的类型参数来传递。 对用户自定义消息来说,只能用wParam和lParam来传递。 二.讲解 windows的消息具有以下两个参数: (1)字参数(wPar...原创 2018-10-14 14:42:15 · 5989 阅读 · 0 评论 -
「 C++ & MFC 」“添加用户自定义消息及消息响应函数方法”讲解
一.前言 本文介绍 两种方法 添加用户自定义消息及消息响应函数。第一种,用户手动添加两个文件((.h)和 (.cpp))的内容。 第二种,利用 MFC 的集成功能,自动添加。(推荐)二.讲解 1.方法一:用户手动添加。 步骤: 1.在“ .h ”文件中: ...原创 2018-10-14 15:25:44 · 3725 阅读 · 0 评论 -
「 C++ 参数 」“ CFile::modeNoTruncate 参数”讲解
一.前言 本文将采用对比说明的方式,来表达出modeNoTruncate 参数的作用,从而做到快速理解。二.讲解1.参数功能: 使用CFile::modeNoTruncate的模式,可以简单理解为:用新代码去替换掉原代码的一部分。2.对比说明 代码①:m_file.Open(strFilePathC,CFile::modeCreate|C...原创 2018-10-13 22:06:05 · 2076 阅读 · 0 评论 -
「 C++ 函数 」“setlocale()使用”讲解
一.前言 Setlocale()是一个计算机函数,功能是用来配置地域的信息,设置当前程序使用的本地化信息。二.讲解 1.函数的功能setlocale()函数 设置或读取地域化信息。 2.函数使用 ①.原型:char *setlocale(int category, const char *local...原创 2018-10-13 21:46:09 · 5353 阅读 · 0 评论 -
「 C++ & MFC 」“普通定时器”讲解
一.前言 定时器是我们在工程中使用较多的一个工具,这里提供一个入门的普通定时器,一共需要三个函数:SetTimer() KillTimer() OnTimer() 下面少讲理论知识,直接在应用中学习,做到快速上手。二.讲解 1.函数的功能SetTimer()函数 设置一个定时器。 OnTimer()函数 系统...原创 2018-10-18 10:04:04 · 2967 阅读 · 2 评论 -
「 C++ 函数 」“memcpy() 使用”讲解
一.前言 memcpy()函数是一个内存拷贝函数。二.讲解 1.函数的功能memcpy()函数 从源 src 所指的内存地址的起始位置,开始拷贝n个字节,到目标 dest 所指的内存地址的起始位置中。值得说明的是:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 2.函数使用 memcpy()...原创 2018-10-22 17:16:03 · 3420 阅读 · 0 评论 -
「 C++ 变量 」“结构体”讲解
一,前言 结构体(结构),它是一种构造类型,可以简单理解为是一个'框架',由若干个成员组成,而这些成员可以是一个基本的数据类型,又或者是另一个结构体。用户创建一个结构体,等同于创建一个'小型数据库'。 如:学户数量(int),姓名(char),期末成绩(浮动)等。在接下来的实现中,当想要使用其中的某个,可以轻松的从结构体中把它调用出来。 ...原创 2018-10-21 14:42:35 · 1813 阅读 · 0 评论 -
「 C++ 通讯 」“Socket通信原理(TCP/IP)”研究
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:什么是TCP/IP、UDP? Socket在哪里呢? Socket是什么呢? 你会使用它们吗?什么是TCP/IP、UDP?...转载 2018-10-12 18:37:29 · 2564 阅读 · 0 评论 -
「 C++ 变量 」“全局变量的建立与使用”讲解
在做一个完整的工程时,跨类调用,跨文件调用是很常见的操作。我们赋予某对(.cpp/.h)文件特殊的权利,将整个系统的全局变量都定义在其中,以此方便对工程的管理。下面就以Data.h/Data.cpp为例,定义一个名为happy的布尔型全局变量。两步完成全局变量定义。在 Data.cpp的类中,定义:bool happy; 在 Data.h的类中,定义:extern bool happ...原创 2019-03-12 22:40:19 · 1774 阅读 · 0 评论 -
「 C++ 函数 」“cout.precision() 使用”讲解
一.前言 cout.precision() 是输出流cout的一个格式控制函数,也就是在iostream中的一个成员函数。二.讲解 1.函数的功能cout.precision()函数 precision():返回当前的浮点数的精度值 cout.precision(val):在输出的时候,设定输出值以新的浮点数精度值显示,即小数点后保留val...原创 2018-12-05 11:20:42 · 9892 阅读 · 1 评论 -
「 C++ 通讯 」“TCP/IP通讯的本地通讯地址”浅谈
一.前言 程序员在程序进行时,往往会将 服务器 和 客户端 放在同一台电脑脑上测试通讯。二.讲解 将客户端中的IP地址位设置如下即可。 TCP/IP通信,本地通讯地址为: "127.0.0.1" 注意...原创 2018-10-21 15:11:11 · 1926 阅读 · 0 评论 -
「 C++ 参数 」“INADDR_AN参数与htons()函数”讲解
一.前言 在Socket编程中,服务器与客户端的IP地址设置尤为重要,此参数 INADDR_AN 常常应用于服务器的IP地址设置。本文将用对比说明的方法,让你快速理解 INADDR_AN 参数的含义。二.讲解 1.对比说明作为服务器,你要绑定【bind】到本地的IP地址上进行监听【listen】,但是你的机器上可能有多块网卡,也就有多个IP地...原创 2018-10-18 22:15:30 · 1461 阅读 · 0 评论 -
「 C++ 函数 」“WSAAsyncSelect()使用”讲解
一.前言 WSAAsyncSelect()函数允许应用程序以Windows消息的方式接收网络事件通知。二.讲解 1.函数的功能WSAAsyncSelect()函数 WSAAsyncSelect()函数自动把套接字设为非阻塞模式,并且为套接字绑定一个窗口句柄,当有网络事件发生时,便向这个窗口发送消息。 2.函数使用 ...原创 2018-10-18 13:55:27 · 2437 阅读 · 0 评论 -
「 C++ 函数 」“WSAGetLastError()使用”讲解
一.前言 WSAGetLastError()函数为我们进行socket编程时需要用到的一个函数。二.讲解 1.函数功能 WSAGetLastError()函数 使用 WSAGetLastError() 函数 来获得上一次的错误代码,而不是依靠全局错误变量, 是为了提供和将来的多线程环境相兼容。 2.函数使用 ...原创 2018-10-13 20:51:33 · 8027 阅读 · 0 评论 -
「 C++ 函数 」“socket()使用”讲解
一.前言 socket()为我们进行socket编程时需要用到的一个函数。二.讲解 1.函数的功能socket()函数 int socket(int domain, int type, int protocol); socket()函数的原型如下,这个函数建立一个协议族为domain、协议类型为type、协议...原创 2018-10-13 18:50:37 · 3351 阅读 · 0 评论