c - Matlab高效代码生成

标签 c matlab matlab-deployment

我正在从 Matlab 编码器生成 C 代码。 我有一个功能如下

function C = foo( A, B ) %#codegen
    for j=1:100,
    C = C+A(j);
    end
end

这个函数在c中生成的代码是

void foo(float A[100],B,float* C){
    for(j=0;j<100;j++){
    *C+=A[j];
    }
}

我希望代码高效并按以下方式生成:

void foo(float* A,B,float* C){
//here B is the length of the array
for(j=0;j<B;j++){
    *C+=*(A+j);
}
}

你有什么想法吗?

最佳答案

我不明白整个故事,但你为什么不更改你的 matlab 代码以实际使用 B 作为开始并告诉我们然后发生了什么,比如

function C = foo( A, B ) %#codegen
    for j=1:B,
        C = C+A(j);
    end
end

关于c - Matlab高效代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9211871/

相关文章:

c - 使用 Simulink Bus 表示指针的 C 结构

java - 在特定条件下循环调用另一个 Java GUI 程序

python - 从 Python 数据中去除尖峰噪声

matlab - Matlab中的不动点

c - 如何在 C 中初始化结构的动态数组?

c - 如何将 char * 转换为 BSTR?

matlab - 为什么Matlab在保存时要加上这条线来作图?

java - 如何运行Matlab编译的Java函数?

java - 从 Matlab 到网络

android - 内核 c 多重函数定义错误