This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280039:将内联函数封装至库文件(.lib)

Guru**** 2394305 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1306929/tms320f280039-encapsulating-inline-functions-into-library-files-lib

器件型号:TMS320F280039

大家好、

客户有问题需要您的帮助:

我目前使用内联函数以静态内联 void 在.h 文件中定义内联、但我不知道如何将其封装在.lib 文件中。

我还尝试在.c 文件中使用#pragma FUNC_ALWAYS_INLINE ()来强制内联,从同一文件调用此内联函数可以内联,但我无法从另一个文件调用它。

我是否可以参考任何文档或例程?

我知道如何生成库、但我调用库中的库函数、通过 LCR 进行调用。 我希望图中的 GridVoltFilter 函数以内联方式扩展、这是可能的吗?

此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已将此主题提请编译器专家注意。 请注意,许多人因假期外出,因此回复可能会延迟。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要在某个特定调用点进行内联、编译器必须能够同时看到函数的完整实现。   请使用 本文中介绍的方法。  总结此方法… 在调用该函数的每个源文件所包含的头文件中、编写类似于…的内容

    inline int name_of_function_to_inline(int args)
    {
        /* full implementation here */
    }

    在最终成为库成员的一个源文件中、还应包含头文件和此行…

    extern inline int name_of_function_to_inline(int args);

    该方法依赖于 C99语言标准。 因此、所有内容都必须使用选项进行编译、 -c99

    谢谢。此致、

    -乔治