小编Der*_*ick的帖子

(异步)NSURLConnection:下面发生了什么?

我知道它必须处理启动线程以产生网络请求的丑陋,然后可能performSelectorOnMainThread:使用我的委托方法调用.

我知道如何在进行iOS编程时使用它,并且效果很好.但是,我想知道如何在(例如)命令行实用程序的上下文中使其工作,其中没有事件处理的UIApplication等.

我已经尝试过,似乎程序在异步调用返回后立即退出,然后才能调用委托方法.我非常希望更深入地了解它是如何工作的.

cocoa asynchronous objective-c nsurlconnection

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

什么是在C中转换字节顺序的可移植方式

我正在尝试编写服务器,它将与任何可以建立套接字连接的标准客户端进行通信(例如telnet客户端)

它最初是一个echo服务器,当然不需要担心网络字节排序.

我熟悉ntohs,ntohl,htons,htonl函数.如果我传输的是16位或32位的整数,或者发送的字符串中的字符是2或4字节的倍数,那么它们本身就很棒.

我想创建一个对字符串进行操作的函数,例如:

str_ntoh(char* net_str, char* host_str, int len)
{
    uint32_t* netp, hostp;
    netp = (uint32_t*)&net_str;
    for(i=0; i < len/4; i++){
         hostp[i] = ntoh(netp[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

或类似的东西.上面的假设是单词大小为32位.我们不能确定发送机器上的字数不是16位还是64位正确?

对于客户端程序,例如telnet,它们必须在发送之前使用hton*,在接收数据后使用ntoh*,对吗?

编辑:对于那些人,因为1-char是一个字节,字节序无关紧要:

int main(void)
{
    uint32_t a = 0x01020304;
    char* c = (char*)&a;
printf("%x %x %x %x\n", c[0], c[1], c[2], c[3]);

}
Run Code Online (Sandbox Code Playgroud)

运行此代码段.我的输出如下:

$ ./a.out
  4 3 2 1
Run Code Online (Sandbox Code Playgroud)

那些关于powerPC芯片组的人应该得到'1 2 3 4'但我们这些关于intel芯片组的人应该看看我上面得到的东西.

c string portability network-programming endianness

2
推荐指数
1
解决办法
8404
查看次数

为什么@SuppressWarnings会破坏我的代码?

从前一个问题得到了这个想法.

如何在Java中创建通用数组?

无论如何,我的代码是这样的:

public class Slice<E>
{
    private E[] data;
    public Slice(Class<E> elementType, int size)
    {
        //@SuppresWarnings({"unchecked"})
        data = (E[])Array.newInstance(elementType, size);
    }

}
Run Code Online (Sandbox Code Playgroud)

我删除了不必要的东西.当抑制指令被注释掉时,这个编译很好.当我取消注释时,我得到了

Error: <identifier> expected    
        data = (E[])Array.newInstance(elementType, size);
             ^
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?为什么会发生这种情况?

java generics suppress-warnings

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

如何在C中使用两个32位整数作为64位?

我正在使用一个库,该库返回一个带有时间戳的结构,该时间戳由两个(TimestampHi,TimestampLo)unsigned longs表示.我几乎只需要打印出%lluprintf中的时间戳.

从这两个整数中获取数据并将其正确用作uint64_t的最简单方法是什么?

c linux

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

如何在gnuplot中绘制csv文件的集合?

我有一组具有相同2列格式的csv文件.我想生成与每个文件对应的单独的xy散点图,但具有相同的样式.唯一应该改变的是输入和输出文件名.怎么做?

unix shell gnuplot

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

为什么我的手册页只有在与男人一起查看时格式不正确?

我正在编写一个程序的手册页,源代码如下:

.TH prog 1 "26 AUG 2010" "Version 0.1" "Center header"
.NAME
prog \- runs a program
.SH SYNOPSIS
.B prog
Run Code Online (Sandbox Code Playgroud)

我用的时候

$ groff -Tascii -man source.txt | more
Run Code Online (Sandbox Code Playgroud)

输出几乎与预期一致.

我用的时候:

$ groff -Tascii -man source.txt > prog.1 && \
sudo cp prog.1 /usr/local/man/man1/ && man prog
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

prog(2)中心标题
prog(2)

NAME
    prog - 运行程序

版本0.1 26 AUG 2010



我在Ubuntu 8.04上.我已经确认它不是寻呼机,因为我也试过man -P more并且仍然有相同的奇数输出.这是怎么回事?

linux distribution groff

0
推荐指数
1
解决办法
77
查看次数