gpt4 book ai didi

c - Memcpy 错误包含

转载 作者:太空宇宙 更新时间:2023-11-04 01:01:30 26 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 2013 中运行该程序malloc 函数无法识别,我不知道如果不是 cstring

我应该包含什么 header
#include <cstring>

float x[4] = { 1, 1, 1, 1 };
float y[4] = { 2, 2, 2, 2 };

float* total = malloc(8 * sizeof(float)); // array to hold the result

memcpy(total, x, 4 * sizeof(float)); // copy 4 floats from x to total[0]...total[3]
memcpy(total + 4, y, 4 * sizeof(float)); // copy 4 floats from y to total[4]...total[7]

最佳答案

memcpy函数在 <string.h> 中声明.

malloc函数在 <stdlib.h> 中声明.

您的系统应该有一些文档告诉您,对于每个库函数,您需要哪个头文件 #include使用它(可能还有您必须指定的库才能链接到它)。 (如果您使用的是 Unix 或 Linux,我会建议使用手册页。)否则,网络搜索函数名称可能会为您提供信息(尽管也有很多信息那里)。

对于 MS Windows,MSDN 有很多在线文档。例如,Google 搜索“MSDN malloc”会出现 this page -- 不幸的是,其中还提到了非标准 <malloc.h> header ,但没有明确表示它是非标准的。

网络搜索“man malloc”会给你的结果可能更特定于 Unix,但对于标准函数应该不是什么大问题。

顺便说一句,<cstring>是一个 C++ 头文件;它是 C 的 <string.h> 的 C++ 版本.如果您想编写 C 代码,请确保您将编译器作为 C 编译器调用。 (使用 .c 扩展名命名您的源文件有时就足以做到这一点。)

关于c - Memcpy 错误包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com