【unp】unix网络编程卷1-->环境搭建(ubuntu14.04)

《UNIX网络编程》中的unp.h文件和config.h文件 《UNIX网络编程》一书中大量使用了作者自己编写的包裹函数,这些函数的声明统统写在了 unp.h 头文件中,现在将这个头文件写在博文里,方便以后查看。注意:unp.h 和 config.h的生成, 可以上本书官网 http://www.unpbook.com/下载源代码,根据README中的使用方法生成 ,除了这两个头文件外还需要相关静库文件的支持。笔者系统环境为Ubuntu 17.04 amd64 阅读详情

学习unp网络编程,树上的例子均存在#include "unp.h",故需要对环境进行配置。

1. 到资源页下载unpv13e 


2. 解压并将unpv13e 移动到相应的文件夹下


3. 编译

>$ cd unpv13e 
>~unpv13e/$ ./configure

>~unpv13e/$ cd lib
>~unpv13e/lib/$ make

>~unpv13e/lib/$ cd ../libfree
>~unpv13e/libfree/$ make

如若出现以下问题:

gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
  size_t size;
         ^
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
 extern const char *inet_ntop (int __af, const void *__restrict __cp,
                    ^
make: *** [inet_ntop.o] Error 1

则需要:

>~unpv13e/libfree/$ vim inet_ntop.c  //将第60行的 size_t size 改成 socklen_t size;
>~unpv13e/libfree/$ make // 改变完后重新make
>~unpv13e/libfree/$ cd ../libgai
>~unpv13e/libgai/$ make   //以下只是warning, 乎略之
/usr/include/arpa/inet.h: In function ‘inet_ntop’:
inet_ntop.c:152:23: warning: ‘best.len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (best.base == -1 || cur.len > best.len)
                       ^
inet_ntop.c:123:28: note: ‘best.len’ was declared here
  struct { int base, len; } best, cur;
                            ^
gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_pton.o inet_pton.c
ar rv ../libunp.a in_cksum.o inet_ntop.o inet_pton.o
a - in_cksum.o
a - inet_ntop.o
a - inet_pton.o
ranlib ../libunp.a

至此,编译成功生成静态库libunp.a


4. 将生成的libunp.a复制到/usr/lib下

>~unpv13e/libgai/$ cd ..
>~unpv13e/$ sudo cp libunp.a /usr/lib


5. 修改unpv13e/lib/unp.h并复制

>~unpv13e/$ vim lib/unp.h  // 将#include "../config.h" 改成 #include "config.h"
>~unpv13e/$  sudo cp lib/unp.h /usr/include
>~unpv13e/$ sudo cp config.h /usr/include


6. 编译例子

>~unpv13e/$  cd intro
>~unpv13e/$  gcc daytimetcpcli.c -o cli -lunp



编译成功则大功告成。

MAX96712在车载摄像头系统中的带宽分配与传输能力计算解析 在计算摄像头带宽与传输接口的关系时,需要考虑视频流的像素分辨率、帧率、颜色深度等因素。以 MAX96712 这种 GMSL2 产品为例,它支持每个链路在正向方向以 3Gbps 或 6Gbps 的固定速率工作。 阅读详情

相关推荐

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

UNP 简介

UNP服务器是指允许UNP客户端接入并进行不同UNP应用层通道间报文转发的设备,其可以包括路由器设备和Linux服务器。 UNP方案的基本原理是通过在客户端和中继服务器之间建立一条应用通道,再将监控业务的报文通过应用通道进行转发

感谢您的关注! 2266

别再乱改基础库了!手把手教你搞定uni-app小程序上传图片报错(chooseAndUploadFile权限篇)

本文详细解析了uni-app开发微信小程序时遇到的`chooseAndUploadFile`权限报错问题,并提供了四步解决方案。从隐私协议与API权限的关联入手,指导开发者正确配置后台声明、双重提交策略和版本管理,避免降级基础库等常见误区,确保小程序合规运行。

weixin_33709364的博客 276

《UNIX网络编程 卷1》一、环境配置

引言之前做的客户端开发主要重难点在于业务逻辑的抽象与实现,而服务端开发对技术的要求更高。遂开始学习《UNIX网络编程 卷1:套接字联网API(第3版)》,敦促自己坚持。本书源码可以在官网或者图灵社区免费获取环境:macOS 10.13.1环境配置./configurecd lib makecd ../libfree make此处报错:$ make gcc -I../lib -g -O2 -D_REE

milletluo的博客 1103

HP MSA 2050磁盘阵列配置步骤

一、盘阵与服务器直接连接 1.1 单控制器配置:一台服务器/ 一个 HBA/ 单路径 1.2 双控制器配置:两台服务器/ 每台服务器一个 HBA/ 双路径 二、通过交换机(一般光纤交换机) 2.1 双控制器配置:两台服务器/ 两台交换机 三、配置MSA2050 3.1在完成硬件安装后,可以访问控制器模块的基于 Web 的管理界面 SMU (存储 管理实用程序),以便监视和管理此存储系统。 首先...

jw5493的博客 1万+

从想法到零件:手把手拆解一个汽车功能如何从PRD写到SSTS和CTS

本文详细拆解了汽车电子需求从市场文档(MRD)到零部件技术规范(CTS)的完整流程,以雨天自动关窗功能为例,展示了PRD、SSTS和CTS的编写要点与交互设计。文章重点解析了系统分解的艺术和零部件落地的精确参数要求,为汽车电子工程师提供了从概念到实现的全流程实践指南。

weixin_30300225的博客 480

UNP学习第一步:unp.h的安装及第一个程序的运行

UNP学习第一步:unp.h的安装及第一个程序的运行 1.源代码编译 在书籍网站点击此处即可上下载本书源码 解压到本地文件夹 tar -xzf unpv13e.tar.gz 进入解压后的文件夹,阅读README说明文件。根据说明文件的要求,按如下步骤完成配置。 运行./configure,用于分析本地环境,为代码进行正确配置 进入lib文件夹,运行make ,用于编译unp.h对应的静态库 进入libfree文件夹,运行make,继续编译基本运行库。 注:此时有可能会发生如下错误: inet_ntop.c

weixin_44551047的博客 1006

如何点亮一颗sensor

要点亮一个sensor需要从,时钟、sensorI2C,供电,reset脚,mipi的配置几个方面一一确认。 reset脚拉高 给sensor的时钟有没有。(目前用到的常为24MHZ) 供电 查看sensor的数据手册,看有几个电源,用示波器量一下是否为手册规定的电压 比如:DVDD 数字电压: AVDD模拟电压 DOVDD芯片引脚出来的电压等为多少。 sensor的I2C能否抓到 将I2C的口对应上,用示波器量取i2c的波形。 检查有应答并且数据正确。读写地址是否正...

weixin_40787463的博客 3646

UNP 学习笔记(一):简介

简介概述客户与服务器之间是通过某个网络协议通信的。焦点是TCP/IP协议族,也称为网际协议族。 同一网络应用的客户和服务器无需处于同一个服务器,而这两个局域网是使用路由器连接到广域网(WAN)的。路由器是广域网的架构设备。当今最大的广域网是因特网。 一个简单的时间获取服务器程序/* 一个简单的时间获取服务器程序 */ #include "unp.h"                        ...

amoscykl的博客 5474

快速入门必看!RT-DETR手把手训练自己的数据集去跑实验,基于 ultralytics 仓库源码改进,配置虚拟环境,准备数据集、训练、验证、推理测试 ,实现0到1的完整教学过程。

本文介绍了使用Ultralytics框架训练RT-DETR模型的全流程。首先需要创建Python 3.10虚拟环境,安装指定版本的PyTorch和相关依赖包。然后准备数据集,修改配置文件,并详细介绍训练、验证和推理三个核心步骤的代码实现。训练阶段使用RTDETR类加载模型配置,设置训练参数;验证阶段评估模型性能;推理阶段可对图片、视频等进行预测。文中还提供了清华大学镜像源加速下载,以及详细的参数配置说明,帮助用户快速搭建RT-DETR目标检测模型。

Ai缝合怪、助力小伙伴高效发论文 5542

深度解析电力负荷预测:基于深度学习的完整实战指南

电力负荷预测是智能电网运行中的核心技术之一,准确的负荷预测对于电网的稳定运行、电力市场交易以及能源调度具有重要意义。本文将详细介绍电力负荷预测的完整解决方案,从数据预处理、特征工程到模型构建与评估,提供完整的可执行代码。我们将使用LSTM(长短期记忆网络)和Transformer两种主流深度学习模型进行实现,并通过实际数据集验证模型效果。电力负荷预测是指根据历史负荷数据、气象因素、时间特征等多维信息,预测未来某一时段的电力需求。超短期负荷预测:未来几分钟到几小时短期负荷预测:未来1天到1周中期负荷预测。

YOLO 111

UNP源码使用及编译

本文针对《网络编程 卷1》unp.h 头文件及其编译问题进行记录,本书源码下载地址 http://www.unpbook.com首先进行编译,在目录 unpv13e下依次执行以下步骤: ./configure cd lib make cd ../libfree make cd ../libroute make //这一

jjcoder的专栏 3186

PCL 建筑物点云立面和平面分割提取【2025最新版】

在建筑物点云中,立面点和平面点的法向量存在明显的差异,根据法向量在Z方向的分量设置相应得阈值即可实现立面点与平面点的分割。

点云侠的博客 1960

《Unix网络编程》环境搭建

Ubuntu《Unix网络编程》环境搭建 文章目录Ubuntu《Unix网络编程》环境搭建下载文件解压缩按照README 依次执行修改inet_ntop.c文件添加到共享库目录修改unp.h程序各文件相对位置case1:case 2:编译执行小问题 下载文件 为了方便获取,我上传到了github git clone https://github.com/orangeQWJ/unpv13e.git ...

堡主Q的博客 1859

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

UNIX网络编程unp.h配置

UNIX网络编程unp.h配置前言额外拓展可忽略正题 前言 本人使用的系统版本是ubuntu-16.04.6,64位。 关于源码的下载可以到www.unpbook.com上下载, 我打开该网站打不开,这里提供一个百度网盘链接,我下载好的 链接: https://pan.baidu.com/s/1ivhClc7YLqjzlWDtahfzUQ 提取码: xy7t 一定要仔细阅读,每一步骤为一段,看完该...

weixin_43603623的博客 389

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Unix网络编程卷1 第一章读书笔记以及习题

1 下载源码并且配置环境 对于想学习网络编程的同学来说,《UNIX网络编程》这书肯定是不二选择。所谓实践是检验真理的唯一标志,特别是对于编程来讲,再多的理论经验也比不过code一次。《UNIX网络编程》这本书提供连源码下载,第三版本的源码我是在 GitHub上面下载的。 但是源码归源码,下载了如果不会使用那也是瞎扯。下面简单介绍一下在本节主要介绍UNIX网络编程卷(第三版)在Ubuntu1...

ProgramVAE的博客 965

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)

下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程。这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端。 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。再者我本来就是ubuntu系统,所以就在ubuntu下搭建环境了。 1,安装编译器,为了齐

咔嚓咔嚓咔嚓 461

unix网络编程(卷一)--安装源码

从今天开始学习unix网络编程,

tangdexi112的专栏 1442

UNIX网络编程(卷I)环境搭建

http://blog.csdn.net/zjf280441589/article/details/18660697 UNIX网络编程(卷I)环境搭建                                                                                --解决unp.h编译问题                  

yaoxiaokui的专栏 615

UNIX网络编程卷1 - >环境搭建(ubuntu16.04)

学习unp网络编程,树上的例子均存在#include“unp.h”,故需要对环境进行配置。 1.到资源页下载www.unpbook.com 2.解压并将unpv13e移动到相应的文件夹下 (因为我是在windows电脑装了虚拟机的,ubuntu也安装了VMware tools 所以我是直接在windows电脑下载并且解压然后把解压后的文件粘贴到虚拟机的ubuntu中。) 3.编译 ...

weixin_30888707的博客 168

【unix环境】unix网络编程卷1——环境搭建(解决unp.h等源码编译问题)

下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程。这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端。 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。再者我本来就是ubuntu系统,所以就在ubuntu下搭建环境了。 1,安装编译器,为了齐全还是安装一下bui

579

unix网络编程关于unp.h文件的配置

注:本人使用的系统版本是ubuntu 12.04.5,64位。 关于源码的下载可以到www.unpbook.com上下载,这里不再赘述。 进入正题: 我们下载后会得到压缩包:unpv13e.tar.gz 解压压缩包:tar -zxvf unpv13e.tar.gz 我把解压后的文件放在了自己新建的目录unixnet下 cd unixnet/unpv13e sudo su 输入管理员密码 执...

yhtlxq2011的博客 327

《UNIX网络编程》配置unp.h头文件

0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解; 如果在文章中发现代码错误或其它问题请告知,感谢! 系统版本:Ubuntu 14.04_64 最后更新:2022-03-23 0x01配置步骤 1.下载unpv13e 可以通过http://www.unpbook.com/unpv13e.tar.gz下载,也可以通过 ...

C/C++攻城狮 1553

Unix网络编程之-------unp.h头文件详细配置-1

unix网络编程unp.h最详细全面配置说明 今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我们自己系统没有包括进去,所以第一步就是搭建好编程环境。好了开始了,我的Linux系统是Ubuntu, 第一步:下载 unpv13e.tar.gzhttp://download.csdn.net/detail/ts173383201/4505201。 第二步:保存在一个目录下。 第三步:解压 tar -xzvf

m0_67392661的博客 346

unix网络编程 unp.h解决方法

Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题) 下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程。这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端。 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。

u010527630的专栏 960
上一篇: 【OpenSceneGraph】UpdateCallback Example
下一篇: 【hihocoder】Font Size(微软2016.4校招笔试题)
小do在努力
博客等级 码龄16年 58粉丝 161原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值