自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 c# 接收c++动态库返回的字符串

c++ 的动态库在很多地方被调用,比如我们想在动态库里面返回一个字符串该怎么做呢?在这里我以自己做过的一个项目为例:PCSC读写器Reset复位拿到ATR返回给c#上层。/*---------------------------------------------------------函数说明 : 卡片复位(查询获取ATR值)输入参数 : CString strName输出参数 :...

2019-12-12 20:32:51 1154

转载 串口通讯原理以及读写器操作详解

http://wangbaiyuan.cn/c-serial-communication-write-reading.html[展开]文章目录在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各...

2019-11-19 14:48:16 1803

转载 C+++结束异常的函数terminate

C++中处理异常的过程是这样的:在执行程序发生异常,可以不在本函数中处理,而是抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决不了,再传给其上一级,由其上一级处理。如此逐级上传,直到最高一级还无法处理的话,运行系统会自动调用系统函数terminate,学会使用terminate函数有助于异常处理一 当一个异常产生的时候调用terminate函数,代码:[cpp] view plai...

2019-08-21 16:16:24 1758

原创 函数指针2种基础用法实例以及介绍

函数指针的三种形式:1、函数格式:(返回值类型)(*函数名)(参数列表)例:#include "stdafx.h"#include<stdlib.h>//定义一个指针变量function,它指向一个参数是2个int类型,返回值是int的函数,要赋值才能使用int (* function)(int,int);//定义一个函数,函数名就是这个函数的地址,也就是指针int a...

2019-08-19 13:13:09 453

原创 没有数字签名装不了Win10驱动怎么办?以及解决方法

https://zhidao.baidu.com/question/428990271931011332.html

2019-08-03 16:54:34 26423 2

转载 DLL中导出函数的两种方式(dllexport与.def文件)

DLL中导出函数的声明有两种方式:一种方式是:在函数声明中加上__declspec(dllexport);另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。方式一:在函数声明中加上__declspec(dllexport)/// 在动态链接库程序中/// 声明动态链接库(**.dll)的对外接口函数TestFuct...

2019-08-03 16:25:27 2519

原创 在子窗口初始化某一个radio button的默认勾选状态

所选工具:vs2010以我的项目为例:我想在点击“WriteData”这个按钮的时候弹出一个框,而且这个框上面要默认选上其中一个radio button(NO),我的OK按钮下的相应函数直接return OnOK();void CWriteDataDialog::OnBnClickedBtnWriteOk(){ // TODO: 在此添加控件通知处理程序代码 bWriteProtec...

2019-07-29 17:26:33 1279

转载 c/c++ 遇到的坑

如果C语言是0,那么C++是多少?先来点个题,与本文其他内容无关。这可能是宇宙中最难以回答的问题了,它似乎牵扯到了哲学和伦理。不管怎样,C++起初都被认为是带类的C(C with classes),那他起码也得比C语言更厉害一点,那似乎应该是1。真的是这样吗?回到代码本身:int c = 0;printf("%d", c++);这个……好像还是0!函数声明被误以为创建对象假设Foo是一...

2019-07-29 13:25:50 247

原创 关于 MFC 错误 1 error C2039: “GetCheck”: 不是“CWnd”的成员 解决方法

加个强转即可:if(((CButton*)(GetDlgItem(IDC_RADIO_NO)))->GetCheck()){ ...}

2019-07-29 10:48:14 1621

转载 MFC RadioButton分组用法详解

环境:VS2010分组将radio1、radio2、radio3分为1组,radio4、radio5分为另一组;方法:设置 radio1 的 属性: group、tabstop、auto均为true设置 radio2 的 属性: group设为false, tabstop、auto均为true设置 radio3 的 属性:group设为false, tabsto...

2019-07-29 10:25:48 1654

原创 MFC实现智能水平滚动条,重写滚动条方法

第一步、首先创建添加一个新类这里以我的项目为例:右键点击=》类向导添加一个新类:CDJListBox,基类为:CListBox接下来VS就会自动帮你生成2个文件:DJListBox.h 和 DJListBox.cpp我们在DJListBox.h头文件里面添加:注意看图添加位置int AddString( LPCTSTR lpszItem );int m_nMaxWidth;...

2019-07-26 16:33:11 612 1

转载 CSting 转char*的四种方法

CString strSource;//宣告CStringchar* charSource; //宣告char*法1:charSource = (char*)strSource.GetBuffer(0);法2:charSource = (char*)strSource.GetBuffer(strSource.GetLength());法3:charSource = (char*...

2019-07-23 16:50:49 447

转载 warning C4996: 'sprintf': This function or variable may be unsafe.问题解决

新的Security CRT functions(就是那些带有“_s”后缀的函数):1、将过去的工程用VS2010打开的时候。你有可能会遇到一大堆的警告:warning C4996。比如:warning C4996: ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To ...

2019-07-22 09:20:04 1907

转载 c#与c++类型对照--

函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。在dllimport中加入CallingConvention参数就行了,[DllImport(PCAP_DLL, CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]要注意C++与NET中数据类型的对应: /...

2019-07-16 13:27:57 253

转载 c#与c++的类型对应

//c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byte(unsigned char) ---- c#:System.Byte //c++:SHORT(short) ---- c#:System.Int16 //c++:WORD(unsi...

2019-07-16 13:20:28 283

原创 c# 基础知识笔记1_0_0_0_1

介绍一下// 与 /// 注释的区别:C# 引入了新的 XML 注释,即我们在某个函数前新起一行,输入 ///,VS.Net 会自动增加 XML 格式的注释// 不会被编译,而 /// 会被编译所以使用 /// 会减慢编译的速度(但不会影响执行速度)但使用 /// 会在其它的人调用你的代码时提供智能感知(通常在Form。Designer.cs 窗口会自动生成 /// 注释的程序)/// ...

2019-07-11 17:47:05 166

原创 vs2013 c#调用c++ dll------实例托管的PInvoke签名与非托管的目标签名不匹配问题以及解决。

首先自己用vs创建一个c++ dll,然后用depends查看导出的函数,如图:这里是自己写的测试dll,下面有两个函数,创建c++dll的方法查看这篇博客:以下是错误实例代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threadin...

2019-07-11 10:55:49 693

原创 安装VS2013提示本机电脑没有安装IE10问题完美规避

只需要在桌面创建一个批处理文件1.bat创建一个文本文档,将文件名改为1,后缀txt改为bat即可。然后双击运行完成就可以安装vs了。具体内容如下:@ECHO OFF:IE10HACK REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer" /v Version /t REG_SZ /d "9.10.9200.1...

2019-07-10 11:04:56 531

原创 vs2010使用GDI+配置以及手动添加ExitInstance()

要使用gdi+绘图,首先我们要将环境配好,具体步骤如下:1、首先在stdafx.h或者其他头文件里面加上以下代码,以包含GDI+的头文件和lib文件:#include <gdiplus.h>using namespace Gdiplus;#pragma comment(lib, "gdiplus.lib")2、然后在CWinApp继承下来的应用程序类里面声明两个变量:p...

2019-07-09 17:55:35 808

原创 VS2010在exe文件中调试自己的动态库配置

通常我们自己封装dll,然后给某个exe文件调用。但是当我们代码写完了之后,想知道我们的dll有没有问题,这个时候在执行的时候就需要进入到我们的dll源代码里面去。正确的做法就是:先将我们的调试目录以及可执行文件配置好,如下图:命令:添加我们需要调试的可执行程序名字(进入方法:项目名称=》属性=》配置属性=》调试=》命令)工作目录:就是我们即将调试的可执行程序的路径(进入方法与上面一样)我...

2019-07-09 10:03:28 1466

原创 VS2010 出现"IntelliSense: 无法识别的标记"错误

在用VS2010编辑器调式代码的时候报错。解决方法:IntelliSense(代码提示,关联等等),经常会占用很大的CPU和内存,导致电脑很卡,所以,建议禁用掉。VS2010的禁用方法是:工具—选项—文本编辑器—C/C++—高级—禁用IntelliSense,将其设置为True即可...

2019-07-01 17:54:22 4408

原创 vs2010代码出现波形曲线解决方法

代码出现波形曲线:解决方法:主界面点击工具=》选项=》文本编辑器=》c/c++=》高级=》禁用高级曲线=》改为 true即可。

2019-07-01 17:32:12 1680

原创 cximage合并4张图片

需要注意的是:建议用24位彩图合并,不然会出现保存的图片0字节的错误直接上代码:void CMergePicturesDemoDlg::OnBnClickedBtnMergepic(){ // TODO: 在此添加控件通知处理程序代码 CxImage img1,img2; int img1_wide,img1_height,img2_wide,img2_height; int bpp...

2019-07-01 16:07:13 760

原创 cximage保存图片0字节错误问题以及解决。

这几天自己在弄一个图片合并的问题,发现一只出现失败,达不到自己想要的效果。后来在网上借鉴了一部分代码,发现最终保存下来的合并的图片大小为0字节。 CxImage img1,img2,img3; int h1,w1,h2,w2,h3,w3,bpp; img1.Load("1.jpg",CXIMAGE_FORMAT_JPG); img2.Load("2.jpg",CXIMA...

2019-07-01 15:05:13 1557

原创 cximage配置环境与实例

我在这里测试所用的是VS2010新建的一个MFC的程序,通过点击按钮来做图片的相关处理。对于像cximage这样的第三方库,我们一般都会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll)。1. 文件位置:为了提高程序的可移植性,将第三库放在解决方案(*.sln)或者工程(*.vcxproj)文件所在的文件夹下。而不要放在其他地方,比如放在D:\某个位置,这样的话,程序在...

2019-06-28 16:56:02 1383

原创 cximage函数总结

1、加载图片Load():bool Load(const TCHAR* filename, uint32_t imagetype=0);参数1:图片名字参数2:图片格式(下面列举)以下是所有类型枚举:----------------------------------------------------------------------------------enum ENUM_CX...

2019-06-28 16:24:29 6211

原创 VS2010编译报错:1 个无法解析的外部命令错误

通常出现这种无法解析的命令,网上查找大多数说的都是:链接出错分析原因:要么是lib文件没有配置对,要么就是代码里面声明与定义不一致(声明了没有定义,定义了却没有声明,这都会导致编译器在编译链接的时候找不到对应的文件而出错)网上查找的具体做法无外乎:方法一:VC6:工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项工程、设置、Li...

2019-06-28 10:21:20 15784 1

原创 VS2010 打开项目头文件崩溃问题解决

最近在用VS2010打开一个项目,在进入头文件的时候VS就直接崩了,如下图最后经过查找原因,才发现是自动换行的原因。解决方法是:在主界面点击“工具”进入“选项”然后点击文本编辑器-》c/c+±》把自动换行勾选去掉保存即可。...

2019-06-27 15:53:51 780

转载 C++函数模板 模板实例化、具体化

原文:http://blog.sina.com.cn/s/blog_62b1508e0100hl8a.htmlC++函数模板 模板实例化、具体化函数模板是C++新增的一种性质,它允许只定义一次函数的实现,即可使用不同类型的参数来调用该函数。这样做可以减小代码的书写的复杂度,同时也便于修改(注:使用模板函数并不会减少最终可执行程序的大小,因为在调用模板函数时,编译器都根据调用时的参数类型进行了相...

2019-06-26 17:11:54 2121

转载 c++ this 指针问题

this 指针是在实例化一个对象之后产生的,并且指向对象本身。比如实例化一个对象pt,那么this = &pt,用“&”取地址符来取对象的地址。同样,如果定义对象pt这个类中,有一个pubilc变量x,那么就可以用this-> = 0来定义x的值,等同于pt.x = 0。this指针的由来 一个学生可以有多本书一样,而这些书都是属于这个同学的;同理,如果有很多个同学在一...

2019-06-26 16:37:29 339

原创 关于MFC界面list控件文件头乱码问题解决

将代码里面创建字体部分屏蔽掉就OK了接着调试就出现:这是正常的,达到了我想要的效果。

2019-06-26 14:02:29 597

转载 MFC中CString.Format的详细用法

在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。先看看Format用于转换的格式字符:%c ...

2019-06-25 14:02:39 495

转载 进程与线程区别以及应用场景

一. 两者区别进程是分配资源的基本单位;线程是系统调度和分派的基本单位。属于同一进程的线程,堆是共享的,栈是私有的。属于同一进程的所有线程都具有相同的地址空间。多进程的优点:①编程相对容易;通常不需要考虑锁和同步资源的问题。②更强的容错性:比起多线程的一个好处是一个进程崩溃了不会影响其他进程。③有内核保证的隔离:数据和错误隔离。 对于使用如C/C++这些语言编写的本地代码,错误隔离是...

2019-06-24 09:33:35 2657

原创 c++读取配置文件函数GetPrivateProfileString()

MSDN原文:GetPrivateProfileString()The GetPrivateProfileString function retrieves a string from the specified section in an initialization file.Note This function is provided only for compatibility ...

2019-06-21 17:45:11 2083

原创 GetModuleBaseName()与GetModuleFileNameEx()函数用法

MSDN上面原文:GetModuleBaseName()The GetModuleBaseName function retrieves the base name of the specified module. //GetModuleBaseName函数检索指定模块的基本名称。DWORD GetModuleBaseName(HANDLE hProcess, // handle...

2019-06-21 17:15:38 2135

转载 VS2010配置目录,解决:error MSB6006: “CL.exe”已退出,代码为 5问题

配置属性->VC++目录可执行文件目录:(VCInstallDir)bin;(VCInstallDir)bin;(VCInstallDir)bin;(WindowsSdkDir)bin\NETFX 4.0 Tools;(WindowsSdkDir)bin;(WindowsSdkDir)bin;(WindowsSdkDir)bin;(VSInstallDir)Common7\Tools\bi...

2019-06-21 16:58:21 8529 2

转载 string与CString互换

CString 转string:CString str = “CString to string”;std::string strStr;strStr = str.GetBuffer(0);string转CString :CString str;string strStr = “string to CString”;str = strStr.c_str();...

2019-06-21 13:50:05 398

原创 c++ MFC弹窗以及保存文件窗口

弹窗:比如我们要弹出这个窗口:我们要做的是,在MFC中新建该窗口,并且添加一个窗口类CSavepictureDlg。比如我们设置点击某个按钮弹出该框,那我们就再该按钮的消息响应函数里面写上两句就够了:CSavepictureDlg dlg; //为该窗口类实例化一个窗口对象dlg.DoModal(); //然后调用该对象调用该类的方法即可。接下来点击上图上的select按钮,...

2019-06-21 13:28:57 2459

原创 关于静态链接库与动态链接库的区别和实例

所谓静态链接库(Static Link Library),是在编译的链接阶段将库函数嵌入到应用程序的内部。但是如果多次调用,则该库函数会被调用多次,会极大的造成空间浪费以及链接器的负担(缺点)。它的优势在于,应用程序可以独立运行,因为在静态链接的时候已经将所需的组件都已经加载到了该应用程序中,不需要对应的DLL,但是应用程序比较大。所谓动态链接库(Dynamic link library),与静...

2019-06-21 11:40:31 3298

转载 C++ ofstream和ifstream

(转载)C++ ofstream和ifstream详细用法http://soft.chinabyte.com/database/460/11433960.sh[导读] ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O.stream这个...

2019-06-14 14:03:35 145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除