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一致:

相关推荐
Yana.nice6 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567968 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧9 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈9 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_10 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
维天说10 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling10 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind11 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的阿森11 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森11 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei