C++
文章平均质量分 60
Milu_Y
这个作者很懒,什么都没留下…
展开
-
MFC项目封装成DLL
1.准备:①已经测试好的MFC项目解决方案(WinForm1); ②新建一个MFC的DLL解决方案(WinDLL); ③新建一个MFC对话框工程(DlgTest); 2.复制MFC项目目录下(.Cpp、.H、.rc、res等)到DLL项目目录下,其中需要修改rc名字为DLL项目名,(.rc是存储MFC资源的文件,res文件夹一般存储需要添加的图片之类...原创 2018-04-26 20:23:29 · 6046 阅读 · 4 评论 -
ADC值转换为电压值(机械语言得出电压值)
如何利用单片机的ADC模块(或者独立的ADC芯片)得到接入ADC管脚上的实际电压值?这个问题,是第一次接触ADC时候,大家都会遇到的问题。会读到什么值单片机会读到什么值?需要看一个特性,就是几位的ADC,在手册上就会给出,例如,STM32的ADC是12位的。另外,还有8位,10位,16位,24位等。我先告诉你答案:STM32读到的ADC值,是从0到4095,当你把ADC引脚接了GND,读到的就是0...转载 2018-04-26 20:27:24 · 9893 阅读 · 0 评论 -
C++编程经验分享
1.不要在构造函数中做初始化操作 要求类(尤其是对外接口类)提供Init()函数,在该函数中进行相关初始化操作,初始化失败能够返回错误码。 可以规避问题: 构造函数中难以返回错误码,外部调用者无从判断初始化结果。 当该类作为全局变量使用时,构造函数调用发生在main()函数执行之前,出现问题难以追踪。2.所有函数返回值都要判断可以规避问题: 及时发现错误环节,...转载 2018-04-26 20:36:30 · 603 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(s...转载 2018-05-23 11:57:35 · 205 阅读 · 0 评论 -
#pragma pack介绍
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。#pragma pack (n) 作用:C编译器将按照n个字节对齐。 #pragma pack () 作用:取消自定义字节对齐方式。#pragma pack (push,1) 作用:是指把原来对齐方式设置压栈,并设新的...转载 2018-05-30 12:27:17 · 11372 阅读 · 4 评论 -
多个语言共同工作的正确做法
不要做A语言代码修改为B语言代码的无用功。 也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。 只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。 即可很方便地让A、B两种语言之间协调工作。 比如: A将请求数据写到文件a.txt,写完后改名为aa.txt B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件...转载 2018-06-13 15:42:14 · 461 阅读 · 0 评论