繁体   English   中英

从BYTE数组中读取32位整数。 VC ++

[英]Reading a 32 bit integer from BYTE array. VC++

我创建了一个包含图像像素数据的BYTE数组。 图像是灰度级,每个像素强度是32位整数。 现在我想读取每个像素强度(32位int),然后对每个像素强度进行一些操作并存储修改后的像素强度(再次以32位int)。 所以我的问题是如何从BYTE数组中读取32位(或16位)整数。 (在VC ++ / MFC中工作)。

谢谢。

使用memcpyBYTE数组中的数据转换为int32_t (或uint32_t )数组。

如果您不需要可移植性,那么您的体系结构可能允许将第一个BYTE的地址转换为int32_t*并在原地使用它。

如果你的所有数据总是来自一个文件,并且没有什么需要处理单个字节,你可以直接将它读入int32_t数组。

本沃格特

尽管如此,我完全不同意DLLMain不是强制性的说法。 您提供的链接具有误导性信息。

每个可执行模块(exe或DLL)都有入口点 否则系统将无法启动任何程序。

因此,定义和实现入口点是必须的。

UNK

如果您创建Win32或MFC扩展DLL,向导将在两个项目中插入入口点。 MFC使用DllMain和Win32使用_tmain,其定义为Unicode的wmain或ANSI的main。 两者都只是名称的占位符,可以更改(但为什么要这么麻烦)。

您必须已创建MFC常规DLL 这种类型的dll也有一个入口点,但它不会在向导创建的任何源文件中公开。 它被称为__DllMainCRTStartup并驻留在crtdll.c中。

对于MFC常规DLL,使用应用程序的InitInstance来初始化您的DLL。

顺便说一句:任何MFC应用程序也有WinMain,它不会在向导生成的任何代码中公开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM