小编glg*_*lgl的帖子

getaddrinfo和IPv6

我试图了解getaddrinfo函数返回的内容:

#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netdb.h>

int main (int argc, char *argv[])
{


struct addrinfo *res = 0 ;

  getaddrinfo("localhost", NULL ,NULL,&res);
  printf("ai_flags -> %i\n", res->ai_flags) ;
  printf("ai_family -> %i\n", res->ai_family) ;
  printf("ai_socktype -> %i\n", res->ai_socktype) ;
  printf("ai_protocol -> %i\n", res->ai_protocol) ;
  printf("ai_addrlen -> %i\n", res->ai_addrlen) ;
  struct sockaddr_in* saddr = (struct sockaddr_in*)res->ai_addr;
  printf("ai_addr hostname ->  %s\n", inet_ntoa(saddr->sin_addr));

  freeaddrinfo(res);

  return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

结果:

ai_flags -> 40
ai_family -> 2
ai_socktype -> 1
ai_protocol -> …
Run Code Online (Sandbox Code Playgroud)

c network-programming ipv4 ipv6 getaddrinfo

17
推荐指数
3
解决办法
2万
查看次数

使用getaddrinfo()C函数获取本地IP地址?

我正在尝试使用getaddrinfo()函数获取我的本地(而不是外部)IP地址,但我看到了这里提供的示例,它们对我的需求来说过于复杂.还看到了其他帖子,其中大部分都非常想获得外部IP,而不是本地IP.

任何人都可以提供一个关于如何使用此函数获取我自己的本地IP地址的简单示例(或简单示例)的链接?

为了清楚我说本地,如果是路由器192.168.0.1,我的本地IP地址可能就像192.168.0.x(只是一个例子).

c c++ getaddrinfo

16
推荐指数
1
解决办法
3万
查看次数

使用Python创建图表和图形

我正在寻找一个python库/模块,这将允许我创建引人注目的图表.该模块必须具有/支持以下内容

  • Windows支持

    由于我主要在Windows中工作(在Windows中使用Eclipse),这是至关重要的,一个简单的安装.exe文件(或必须提供足够的安装说明)

  • 使用Python 2.7

    我已经安装了Python 2.7.2并不是真的想去另外一些东西.

  • 不需要在网上

    我看过googlepychart,看起来你需要在网上才能使它工作,我不是在万维网上,实际上是在一个非常严格的防火墙后面.

  • 应该可以从HTML浏览器中查看输出

    虽然我无法访问WorldWideWeb,但我可以看到localhost,如果图表结果可以在浏览器中查看,那将会很棒.

  • 好的文档,至少有一些关于如何使用库的示例.

如果有关于如何使用python创建Web应用程序的任何建议,只需显示/绘制我传入的数据,这样的建议将非常感谢

python charts graph

12
推荐指数
3
解决办法
9万
查看次数

将数字与NaN进行比较的结果是什么?

例如,考虑一下

bool fun (double a, double b) {
    return a < b;
}
Run Code Online (Sandbox Code Playgroud)

fun如果任何参数是NaN 会返回什么?这是未定义/实现定义的行为吗?

其他关系运算符和相等运算符会发生什么?

c++

11
推荐指数
2
解决办法
6520
查看次数

在Java中创建一个斜坡

我试图在java中创建一个斜率.我可以使用DrawLine函数,它会创建一个完美的函数,但我不想使用它,而是为它创建自己的函数.问题是点之间有间隙.

import java.applet.Applet;
import java.awt.Graphics;

public class slope extends Applet{



    public void drawLine(int x1, int y1, int x2, int y2, Graphics g) {

        double m = (y2 - y1) / (double)(x2-x1);
        double y = y1;
        for (int x =x1; x < x2; x++) {

            drawPoint(x,(int)y,g);
            y +=m;
        }
    }


    public void paint(Graphics g) {
        drawLine(20, 10, 300, 700, g); //has spaces between the dots 
        g.drawLine(20, 10, 300, 700); //this is perfect


    }

    private void drawPoint(int x, int y, Graphics g) …
Run Code Online (Sandbox Code Playgroud)

java

11
推荐指数
1
解决办法
351
查看次数

“ if x == True”和“ if x:”有什么区别?

你好stackoverflow社区:-)

我目前正在学习Python,但我并不完全理解“ True / False”的概念。

在Python中,数字0与“假”相关,数字1与“真”相关。

当我写下面的代码

x = 2
y = 1

if y == True:
    print("Y is True")
if x == True:
    print("X is True")
else:
    print("X is False")
Run Code Online (Sandbox Code Playgroud)

我得到“ Y为真”,因为“ 1”为真。我得到“ X为假”,但我认为这也应该为“ True”,因为存在一个值(x = 2)而不是“ None,0等”。

当我写

if x:
    print("X is True")
else:
    print("X is False")
Run Code Online (Sandbox Code Playgroud)

然后我得到“ X为True”,因为x不为空,因此为真。

“ if x:”和“ if x == True”之间的确切区别是什么?

python

11
推荐指数
2
解决办法
356
查看次数

rsync获取仅文件名列表

这是我正在使用的命令的示例:

rsync --list-only --include "*2012*.xml" -exclude "*.xml" serveripaddress::pt/dir/files/ --port=111 > output.txt
Run Code Online (Sandbox Code Playgroud)

如何在没有权限,时间戳等额外信息的情况下获取文件名列表?

编辑:是否可以在新行上输出每个文件名?

filenames rsync file list

10
推荐指数
2
解决办法
2万
查看次数

有没有办法知道已启动程序的pid?

如果我作为孩子启动bash脚本,我可以使用$$将自己的pid传递给父.

有没有办法找到我从后台脚本启动的程序的pid,如:

ping x.x.x.x &
Run Code Online (Sandbox Code Playgroud)

什么是那个ping的pid?

(我希望我能正确表达自己的意思......我的英语不是最好的)

PS.我正在寻找一个简单而干净的解决方案,我可以想象如下:

ping -t10000 -W10 x.x.x.x &
then
ps ax | grep 'ping -t10000 -W10 x.x.x.x'$
Run Code Online (Sandbox Code Playgroud)

但是太复杂了,即使我用过开关来个性化它也不干净,它可能会捕获系统中的另一个进程

bash

10
推荐指数
2
解决办法
1773
查看次数

Python Zen - (仅)一种方法

这个问题可能听起来很主观,但正如"禅宗"所说的那样,(几乎总是)有一种方式可以优先考虑,最后不应该是主观的.

什么方式更好?

[i.something() for i in l]
map(operator.methodcaller('something'), l)
map(lambda x: x.something(), l)
Run Code Online (Sandbox Code Playgroud)

(1)是(IMO)非常清楚,但在很多答案中,map()都是使用的.如果我们这样做,(2)和(3)之间的可读性几乎相同(IMO,至少).

许多其他任务同样重要,但我选择了这个,因为它可以代表所有类似的任务.

python zen-of-python

10
推荐指数
1
解决办法
1178
查看次数

cmpl和cmp之间的区别

我试图了解装配能够解决难题.但是我遇到了以下说明:

0x0000000000401136 <+44>:    cmpl   $0x7,0x14(%rsp)
0x000000000040113b <+49>:    ja     0x401230 <phase_3+294>
Run Code Online (Sandbox Code Playgroud)

我认为它的作用是:0x14(%rsp)的值是-7380.根据我的理解,cmpl比较unsigned.还执行跳转.那就是(无符号)-7380> 7(无符号)7380> 7 - >跳

我实际上不希望它跳.但这是正确的解释吗?我在翻开争论吗?

如果你有任何关于如何操纵这个跳跃的建议!

c x86 assembly x86-64

10
推荐指数
2
解决办法
5万
查看次数