vc++中的tagMSG和MSG和*PMSG有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc++中的tagMSG和MSG和*PMSG有啥区别?相关的知识,希望对你有一定的参考价值。
typedef struct tagMSG
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
MSG, *PMSG;
MSG是声明结构体用的,声明的这个结构体变量类型与struct tagMSG声明的是一样的。
*PMSG是声明结构体指针,同样这个跟直接用struct tagMSG *也是一致的。
使用typedef的好处是增加程序可读性、移植性以及书写方便等。
2、比如有如下定义:
typedef usigned char uint8;
以后再需要使用无符号8位数据的时候,直接使用uint8声明就可以了。无需写那么多东西,并且一看就明白。
uint8 a; 参考技术A 上楼回答了一半。。
也可以说是 答非所问...
tagMSG 的意思是,只是一个标示符。
MSG 也只是一个标识符。
使用tagMSG 创建一个结构体。
MSG跟在后面标识的作用是 可以在函数中传递这个结构体,
*PMSG 也就是说 可以在函数中使用指针类型传递这个结构体。
也就是他的作用范围吧。本回答被提问者采纳 参考技术B 这有什么区别吗??
都是一个东西啊!!
就跟
typedef struct a
b,*c
一样的啊
最后一个是结构体指针而已
OpenCV 中的 vc10、vc11 和 vc12 库有啥区别?
【中文标题】OpenCV 中的 vc10、vc11 和 vc12 库有啥区别?【英文标题】:What is the difference between vc10, vc11 and vc12 libraries in OpenCV?OpenCV 中的 vc10、vc11 和 vc12 库有什么区别? 【发布时间】:2015-07-02 15:34:01 【问题描述】:我使用的是 OpenCV 2.4.11,我有 2 个文件夹 x64 和 x86,它们都包含 vc10、vc11 和 vc12 文件夹,每个文件夹都包含带有库的 lib 文件夹。所有文件夹中的库看起来都差不多,只是大小上有一些细微差别。首先,x64 和 x86 文件夹有什么区别?其次,vc10、vc11和vc12库有什么区别?
【问题讨论】:
【参考方案1】:对于 Microsoft 的 Visual Studio 编译器的每个版本,它们都是不同的版本。
vc16:Visual Studio 2019 打包的编译器 vc15:Visual Studio 2017 打包的编译器 vc14:Visual Studio 2015 打包的编译器 vc12:Visual Studio 2013 打包的编译器 vc11:Visual Studio 2012 打包的编译器 vc10:Visual Studio 2010 打包的编译器【讨论】:
@Bowecho 可能不会。 :P 那么我们可以使用 vc12 旧库和 vc16 编译器吗??【参考方案2】:它指的是用于构建的 Visual C++ 版本。 x64 和 x86 是 64 位和 32 位的芯片架构。
【讨论】:
我明白了,但是 32 或 64 架构中的 vc10、vc11 和 vc12 库有什么区别? Visual C++ 版本 我使用的是 Codeblocks 13.12,那么哪些库可以兼容?因为我使用的是 vc12 库,而编译器 (gnu gcc) 无法识别某些函数,例如读取图像时会出错。【参考方案3】:指MS Visual Studio 版本https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History。
【讨论】:
以上是关于vc++中的tagMSG和MSG和*PMSG有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
Java 中 给一个object 赋值属性, 既可以用构造函数的方式,也可以用setXXXX()的方式,而它们之间有啥区