• struct servent


    一、servent结构体声明

    struct servent {

      char FAR* s_name;

      char FAR* FAR* s_aliases;

      short s_port;

      char FAR* s_proto;

    };

    二、结构成员

    s_name 正规的服务名。(服务名)
    s_aliases 一个以空指针结尾的可选服务名队列。(服务别名列表)
    s_port 连接该服务时需要用到的端口号,返回的端口号是以网络字节顺序排列的。(端口号)
    s_proto 连接该服务时用到的协议名。(使用的协议)
    返回的指针指向一个由Windows Sockets实现分配的结构。应用程序不应该试图修改这个结构或者释放它的任何部分。此外,每一线程仅有一份这个结构的拷贝,所以应用程序应该在发出其他Windows Scokets API调用前,把自己所需的信息拷贝下来。
     

    三、补充说明

    FAR 是16位系统时候的概念了,代表远指针的意思。

    近指针是16位的指针,它只表示段内的偏移地址,因而只能对64k字节数据段内地址进行存取。

      如 char near *p;

      p=(char near *)0xffff;

    远指针是32位指针,它表示 段地址:偏移地址,如定义远程指针p指向B500段的2号地址,即B500:0002,则可写作:

      char far *p; 

      p=(char far *)0xB5000002;

      因此,远指针可以进行跨段寻址,可以访问整个内存的地址。

         16位系统有远近指针之分的环境中,得告诉编译器指针变量h_name强制使用远指针方式。因为16位系统寻址范围只有2^16=64K,所以用FAR指针,再加上16位,高16位存放的是变量的段地址,低16位存放变量的段内偏移。

  • 相关阅读:
    微软软件
    绘图软件安装出错解决方法
    Windows平台 Faster-RCNN 制作自己的数据集
    POJ2456 Agressive Cows
    P1030 求先序排列
    Luogu P2015二叉苹果树
    P2234 [HNOI2002]营业额统计
    Luogu P1347排序
    Luogu P1038神经网络
    Luogu P1006传纸条
  • 原文地址:https://www.cnblogs.com/cyx-b/p/12450217.html
Copyright © 2020-2023  润新知