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.

[参考译文] Linux/CC2538:如何在构建"Zigbee Linux 网关应用程序&quot 时解决 P-Thread 警告。

Guru**** 2535150 points
Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/770934/linux-cc2538-how-to-resolve-p-thread-warning-while-building-zigbee-linux-gateway-application

器件型号:CC2538

工具/软件:Linux

您好、E2E 社区、

我将 CC2538-CC2592 开发模块与 BBB 搭配使用、我将使用 Z-stack Linux Gateway 3.0应用代码。

按照 "Z-Stack Linux Gateway Developers Guide.pdf"中的说明、我通过运行./build_all 脚本来构建应用程序代码。

我在 Trace.c 文件函数中收到一些与 P-thread 相关的警告。

您能帮我解决这个问题吗?

下面给出了./build_all 中 trace.c 的日志。

将./../../srvwrapper/trace.c 编译到 trace.o 
在./../../srvwrapper/trace.c:52:0中包含的文件中:
/../../srvwrapper/trace.c:在函数‘trace_init_thread’中: ./../../srvwrapper/trace.h:198:42:警告:逗号表达式的右侧操作数不起作用[-Wunuse-value]

#define pthread_SETSPECIFIC (A、B)((A)=(B)、0) ~~~~~~~~μ A ^~~ /../../srvwrapper/trace.c:187:3:注:‘扩展宏命令 pthread_SETSPECIFIC
pthread_SETSPECIFIC (thread_name_key、NULL); ^~~~~~~~~~~~~~~~~~~

谢谢、尊重

Shiv Patil。

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

    软件包构建过程中生成的几个警告(包括此警告)不会影响 Linux 网关的运行、您是否注意到您认为此警告与之相关的任何奇怪行为?

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

    我注意到、

    由于这个警告、构建的输出文件将被创建在"Error_out"目录而非"out"目录中。
    我的代码工作正常、即使编译代码也会发出这种警告。

    但我很好奇地知道、
    为什么在我运行./build_all 脚本时会提出此警告?...

    您能不能帮助我理解这些内容。


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

    是的、如果在编译期间存在任何错误或警告、或者生成的目录与预期内容不匹配、则将创建 Error_out 目录而不是 out。 这一切都可以在由 build_all 执行的脚本/package_builder 中根据您的喜好进行修改。

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

    您好、Ryan、

    完全理解您所说的内容。


    但是、

    我想了解 Zigbee Linux 网关应用中的 P-thread 实现。

    #define pthread_SETSPECIFIC (A、B)((A)=(B)、0)

    1. pthread_SETSPECIFIC()的作用是什么?
    2.在该函数参数中、A 和 B 代表什么?
    3、为什么这一论点在它们之间传递了一些关系行动? //(A、B)或((A)=(B)、0)

    您能帮助我了解这些基本原理吗?...


    此致、
    Shiv Patil。

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

    我没有开发此应用程序、也没有 POSIX 线程方面的经验、请参阅有关 pthread 和 c 语法的相应文档以获得进一步的了解。

    此致、
    Ryan