gpt4 book ai didi

c - 在 C 中填充数组最快的方法是什么?

转载 作者:行者123 更新时间:2023-11-30 14:24:39 25 4
gpt4 key购买 nike

我有一个函数,它将在我的代码中被多次调用。此函数更新数组中的 2 个值(作为参数传递)。由于调用次数太多,我希望优化此函数。

是的,我确实有一个最简单的代码来做到这一点,

int global_array[MAX];
int * ptr_to_my_global_array = &global_array[0];

main()
{
int a=0,b=0;

my_func(a,b);
a++;b++;
my_func(a,b);
a++;b++;
my_func(a,b);
a++;b++;
my_func(a,b);
a++;b++;
my_func(a,b);
a++;b++;
//and so on
}

void my_func(int c,int d)
{

*ptr_to_my_global_array = c;
ptr_to_my_global_array++;
*ptr_to_my_global_array = d;
ptr_to_my_global_array++;

}

请不要建议任何 mem_copy、mem_set 解决方案。可能没有其他解决方案,但只是好奇我是否可以做得更快。

最佳答案

使用宏而不是函数调用,这可能会消除调用函数的开销。但是您可能会发现编译器优化已经做到了这一点。

基准和测试:-)

关于c - 在 C 中填充数组最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11504838/

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