C++ 如何访问第三方源文件中的函数?

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

我在寻找一种算法,使我能够将数学贝塞尔函数用于复数。现在我找到了。(我对贝塞尔函数Jv和Yv的实数或复数参数和实数阶感兴趣。)

我在Visual Studio 2010 Express C++中工作,现在我想访问那里实现的那些函数。如何执行此操作?

下载此文件并将这些文件添加到visual studio项目中。要使用这些函数,您需要在源文件中包含“BESSEL.h”

我通过以下操作在VisualStudio上编译了它

  • \u使用\u数学\u定义添加到预处理器定义中
  • #include
    更改为
    #include
  • 使用名称空间std添加
    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
  • 使用命名空间std;
    添加到
    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;
    }