Linux下MyIpAdd库的使用

一、MyIpAdd库简介

MyIpAdd库是一个纯C++库,可以用它获取我们的公网IP地址。其github地址为:https://github.com/felmur/MyIpAdd

二、下载编译MyIpAdd源码

https://github.com/felmur/MyIpAdd 下载MyIpAdd源码:

解压,进入源码目录,可以看到其目录结构如下:

编译:

bash 复制代码
cmake . -DCMAKE_INSTALL_PREFIX=$(pwd)/install
make
make install

然后源码目录下会生成MyIpAdd的库文件libMyIpAdd.so

三、MyIpAdd的使用例子

以C++为例,编写一个使用示例。main.cpp内容如下:

cpp 复制代码
#include <iostream>
#include <myipadd.h>

using namespace std;

int main()
{
    MyIpAdd * m = new MyIpAdd();

    cout << "My public ip address is: '" << m->ip << "'" << endl;

    return 0;
}

编译:

bash 复制代码
g++ main.cpp -o main -g -IXXX/MyIpAdd-master -LXXX/MyIpAdd-master -lMyIpAdd

运行,效果如下。可以看到本机的公网ip被成功打印出来了:

该ip和通过百度查询到的公网ip一致:

相关推荐
码农编程录1 小时前
【notes11】并发/IO/内存
linux
一路往蓝-Anbo2 小时前
第 12 章:Linux 侧 RPMsg 用户态驱动与数据接口
linux·运维·服务器·stm32·单片机·嵌入式硬件·网络协议
乔碧萝成都分萝3 小时前
二十六、IIO子系统 + SPI子系统 + ICM20608
linux·驱动开发·嵌入式
海盗猫鸥3 小时前
Linux权限详解
linux·c语言
cuijiecheng20183 小时前
Linux下modbuspp库的使用
linux·运维·服务器
专注VB编程开发20年3 小时前
vb.net,c#线程池 Dim tasks As New List(Of Task) 线程多了,后面几个可能要等一二秒后再启动
java·linux·jvm
2023自学中3 小时前
Linux 内核中的 start_kernel() 函数内部:流程图与总结
linux·嵌入式硬件·uboot
2301_804947583 小时前
nginx
java·服务器·nginx
funnycoffee1234 小时前
H3C交换机查看日志命令display logbuffer
运维·网络·h3c logbuffer·h3c日志