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.

[参考译文] RTOS/TM4C1294NCPDT:配置 NDK TCP 客户端时要连接的服务器地址(关于 inet_addr)

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/708181/rtos-tm4c1294ncpdt-server-address-to-connect-when-ndk-tcp-client-is-configured-about-inet_addr

器件型号:TM4C1294NCPDT

工具/软件:TI-RTOS

您好!

我将参考 TCP Echo 示例配置客户端。

以下是代码:

struct sockaddr_in serverAddr;

memset (&serverAddr、0、sizeof (serverAddr));

serverAddr.sin_family = AF_iNet;
serverAddr.Sin_addr.s_addr = inet_addr ("192.168.0.3");
serverAddr.Sin_port = htons (8000);

int status = connect (sock、(struct sockaddr*)&serverAddr、sizeof (serverAddr));
if (status =-1)
{
return;
} 

构建控制台:

警告#225-D:隐式声明函数"inet_addr"

如何解决此警告?

提前感谢。

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

    您使用的是哪个版本的 TI-RTOS?

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

    我使用的是2.16.1.14。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有几种不同的方法可以解决此问题:

    1.将函数的外部声明添加到上面显示的.c 文件中:

    extern int inet_addr (const char *str);

    以上是一种权变措施,因为包含具有 inet_addr()原型的头文件会导致生成错误,因此只需将其 extern 避免。

    2.使用 inet_pton() API 代替 inet_addr()

    iNet_pton 是一个"更标准的"API。 您可以通过以下方式获取:

    #include

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