0

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

谢谢你。

4

2 回答 2

2

用于memcpy将数据从您的数组中获取到(或)BYTE数组。int32_tuint32_t

如果您不需要可移植性,您的架构可能允许将第一个地址转换BYTE为 aint32_t*并就地使用它。

如果您的所有数据始终来自一个文件,并且不需要对单个字节进行任何处理,您可以直接将其读入int32_t.

于 2012-06-07T15:34:43.393 回答
0

本·沃伊特

恕我直言,我完全不同意 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。

于 2012-06-07T22:41:32.177 回答