gpt4 book ai didi

c++ - Accelerate.framework 中的数据类型

转载 作者:行者123 更新时间:2023-11-28 03:55:41 28 4
gpt4 key购买 nike

我正在开发一个使用 Accelerate 框架(用于 LAPACK)的程序,但我遇到了几个问题。代码是用 C 语言编写的,但需要包含 C++ header 。我将文件重命名为 .cpp,但它导致了两个错误,如下所示。

C++ Error Image

然后我意识到试图#include <Accelerate/Accelerate.h>包含 header ,因为我们的 LAPACK 编码器所做的是在文件开头重新键入定义 (dgemm_(), dposv_(), etc.),并依靠编译器/链接器来解决问题。所以我注释掉了那些并只是做了#include。结果是这样的:

Accelerate Error Image

那么,如何在 C++ 文件中使用 Accelerate 来使用 LAPACK 函数?我对 LAPACK 不太熟悉,所以我不确定该框架通常是如何工作的。

最佳答案

您应该使用类型 __CLPK_integerlong 而不是 int 来调用 dgemm_dposv_ 。该错误是因为 long* 在 C++ 中无法隐式转换为 int*

typedef long int    __CLPK_integer;
typedef long int __CLPK_logical;
typedef float __CLPK_real;
typedef double __CLPK_doublereal;
typedef __CLPK_logical (*__CLPK_L_fp)();
typedef long int __CLPK_ftnlen;

关于c++ - Accelerate.framework 中的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742122/

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