C++ 如何访问第三方源文件中的函数?
我在寻找一种算法,使我能够将数学贝塞尔函数用于复数。现在我找到了。(我对贝塞尔函数Jv和Yv的实数或复数参数和实数阶感兴趣。) 我在Visual Studio 2010 Express C++中工作,现在我想访问那里实现的那些函数。如何执行此操作?下载此文件并将这些文件添加到visual studio项目中。要使用这些函数,您需要在源文件中包含“BESSEL.h” 我通过以下操作在VisualStudio上编译了它C++ 如何访问第三方源文件中的函数?,c++,math,linker,numbers,C++,Math,Linker,Numbers,我在寻找一种算法,使我能够将数学贝塞尔函数用于复数。现在我找到了。(我对贝塞尔函数Jv和Yv的实数或复数参数和实数阶感兴趣。) 我在Visual Studio 2010 Express C++中工作,现在我想访问那里实现的那些函数。如何执行此操作?下载此文件并将这些文件添加到visual studio项目中。要使用这些函数,您需要在源文件中包含“BESSEL.h” 我通过以下操作在VisualStudio上编译了它 将\u使用\u数学\u定义添加到预处理器定义中 将#include更改为#inc
\u使用\u数学\u定义添加到预处理器定义中
#include
更改为#include
代码>至BESSEL.H
#include "BESSEL.H"
#include <iostream>
int main() {
double x, i0, i1, k0, k1, i0p, i1p, k0p, k1p;
x = 5.0;
i0 = 1.0;
i1 = 2.0;
k0 = 3.0;
k1 = 4.0;
i0p = 5.0;
i1p = 6.0;
k0p = 7.0;
k1p = 8.0;
bessik01a(x, i0, i1, k0, k1, i0p, i1p, k0p, k1p);
// Results are stored in the variables i0..k1p
cout << i0 << " " << i1 << " " << k0 << " " << k1;
return 0;
}
#包括“BESSEL.H”
#包括
int main(){
双x,i0,i1,k0,k1,i0p,i1p,k0p,k1p;
x=5.0;
i0=1.0;
i1=2.0;
k0=3.0;
k1=4.0;
i0p=5.0;
i1p=6.0;
k0p=7.0;
k1p=8.0;
bessik01a(x,i0,i1,k0,k1,i0p,i1p,k0p,k1p);
//结果存储在变量i0..k1p中
无法下载此文件并将这些文件添加到visual studio项目中。若要使用这些功能,您需要将“BESSEL.h”
包含到源文件中
我通过以下操作在VisualStudio上编译了它
\u使用\u数学\u定义添加到预处理器定义中
#include
更改为#include
添加到BESSEL.H
#include "BESSEL.H"
#include <iostream>
int main() {
double x, i0, i1, k0, k1, i0p, i1p, k0p, k1p;
x = 5.0;
i0 = 1.0;
i1 = 2.0;
k0 = 3.0;
k1 = 4.0;
i0p = 5.0;
i1p = 6.0;
k0p = 7.0;
k1p = 8.0;
bessik01a(x, i0, i1, k0, k1, i0p, i1p, k0p, k1p);
// Results are stored in the variables i0..k1p
cout << i0 << " " << i1 << " " << k0 << " " << k1;
return 0;
}
#包括“BESSEL.H”
#包括
int main(){
双x,i0,i1,k0,k1,i0p,i1p,k0p,k1p;
x=5.0;
i0=1.0;
i1=2.0;
k0=3.0;
k1=4.0;
i0p=5.0;
i1p=6.0;
k0p=7.0;
k1p=8.0;
bessik01a(x,i0,i1,k0,k1,i0p,i1p,k0p,k1p);
//结果存储在变量i0..k1p中
cout将上面链接的文件添加到您的项目中:
注意:您必须编辑掉这些.cpp文件和.h文件中的旧头文件。更具体地说:
改变
尝试运行程序。z
是贝塞尔函数的参数
您可能会问什么是J0
,J1
,等等,它们是贝塞尔函数,但如果您需要确定哪个是哪个,请在公式中尝试一个数值。例如,检查J0是哪个公式的结果。我不是贝塞尔函数的专家。但如果您给我您需要使用的确切公式,我可以测试。将上面链接的文件添加到项目中:
注意:您必须编辑掉这些.cpp文件和.h文件中的旧头文件。更具体地说:
改变
尝试运行程序。z
是贝塞尔函数的参数
您可能会问什么是J0
,J1
,等等,它们是贝塞尔函数,但如果您需要确定哪个是哪个,请在公式中尝试一个数值。例如,检查J0是哪个公式的结果。我不是贝塞尔函数的专家。但如果您给我您需要使用的确切公式,我可以测试。添加使用Visual Studio中的“添加项…”界面将.cpp和.h文件添加到vcproj中(在解决方案资源管理器中的项目上单击鼠标右键,然后选择“添加项…”)。您可能只需先将源文件复制到主项目文件源目录,然后再进行添加。除此之外,配置这些文件看起来并不奇怪。VS的联机帮助非常棒。搜索“将现有项添加到项目中”。“使用Visual Studio中的“添加项…”界面将.cpp和.h文件添加到vcproj中。”(在解决方案资源管理器中右键单击您的项目,然后选择“添加项…”。您可能只需先将源文件复制到主项目文件源目录,然后再进行添加。除此之外,这些文件的配置看起来并不特别奇怪。VS的联机帮助非常出色。请搜索将现有项添加到项目中。”为什么BESSEL.h中的BESSEL大写拼写不起作用。顺便问一下,它不起作用。你自己检查过吗?谢谢,它确实起作用了,但不幸的是,在你推荐下载的程序中,我看不到我的函数是如何调用的,所以如果你能给我一个示例代码,如何只获取其中一个BESSEL函数的值,我会奖励您100分奖励:-)我添加了一个如何调用其中一个函数的示例。我不确定参数的含义或返回值的含义。你可能必须把这个问题带到数学论坛上。@XinWang你是否理解了调用函数的每个参数的含义?我想使用这个库,但我不知道调用的用法g参数。为什么在BESSEL.h中使用BESSEL的大写拼写。顺便说一句,它不起作用。你自己检查了吗?谢谢,它确实起作用了,但不幸的是,在你推荐下载的程序中,我看不到我的函数是如何调用的,所以如果你能给我一个示例代码,如何只获取其中一个BESSEL函数的值ons,我将奖励您100分:-)我添加了一个如何调用其中一个函数的示例。我不确定参数的含义或返回值的含义。您可能必须将该问题带到数学论坛。@XinWang您是否理解了调用函数的每个参数的含义?我想使用相同的l但是我不知道调用参数的用法。
#include<complex>
#include <iostream>
using namespace std;
#include "BESSEL.H"
int main ()
{
complex<double> z = 3;
complex<double> J0;
complex<double> J1;
complex<double> Y0;
complex<double> Y1;
complex<double> J0p;
complex<double> J1p;
complex<double> Y0p;
complex<double> Y1p;
cbessjy01(z,J0,J1,Y0,Y1,J0p,J1p,Y0p,Y1p);
cout<< "J0: " << J0 << "\n";
cout<< "J0p: " << J0p << "\n";
cout<< "J1: " << J1 << "\n";
cout<< "J1p: " << J1p << "\n";
cout<< "Y0: " << Y0 << "\n";
cout<< "Y0p: " << Y0p << "\n";
cout<< "Y1: " << Y1 << "\n";
cout<< "Y1p: " << Y1p << "\n";
cin.get();
return 0;
}