小编Cha*_*les的帖子

链接protobuf库的问题

我对makefile不熟悉,这是我的makefile

CC = gcc

TARGET = sample_client sample_server

CFLAGS += -g -I/usr/include
LDFLAGS += -g -lprotobuf-c -L/usr/lib

all:    $(TARGET)

$(TARGET):  lsp.o lspmessage.pb-c.o

%.o:    %.c
    $(CC) -c $(CFLAGS) $< -o $@

clean:
    rm -f *.o 
    rm -f $(TARGET)
Run Code Online (Sandbox Code Playgroud)

当我运行 make -f Make 时,出现这些错误。

**@**:./$ make -f Makefile
gcc -g -I/usr/include  -g -lprotobuf-c -L/usr/lib  sample_client.c lsp.o lspmessage.pb-c.o   -o sample_client
lspmessage.pb-c.o: In function `lspmessage__get_packed_size':
./lspmessage.pb-c.c:19: undefined reference to `protobuf_c_message_get_packed_size'
lspmessage.pb-c.o: In function `lspmessage__pack':
./lspmessage.pb-c.c:26: undefined reference to `protobuf_c_message_pack'
lspmessage.pb-c.o: In function `lspmessage__pack_to_buffer':
./lspmessage.pb-c.c:33: …
Run Code Online (Sandbox Code Playgroud)

protocol-buffers

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

select2不使用标签

尽管复制了文档中提供的代码,但我无法使用select2来处理标记.这是一个基本的jsfiddle与select2功能:http://jsfiddle.net/Gh4Ac/

现在,我在这个新的改变.例如唯一的一点是$("#e2").select2();$("#e2").select2({tags:["red", "green", "blue"]});.结果如下:http://jsfiddle.net/Gh4Ac/1/

请注意,第一个示例有效,但第二个示例不起作用.有人可以解释如何让标签为select2工作吗?

jquery jquery-select2

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

这个reverseBytes方法是如何工作的?

我在网上查看这个功能,想知道它是如何工作的:

   /*
    * reverseBytes - reverse bytes
    *   Example: reverseBytes(0x12345678) = 0x78563412
    *   Legal ops: ! ~ & ^ | + << >>
    */
    int reverseBytes(int x)
    {
        int newbyte0 = (x >> 24) & 0xff;
        int newbyte1 = (x >> 8) & 0xff00;
        int newbyte2 = (x << 8) & 0xff0000;
        int newbyte3 = x << 24;

        return newbyte0 | newbyte1 | newbyte2 | newbyte3;
    }
Run Code Online (Sandbox Code Playgroud)

这是我认为我理解的:

  • 0xff0xff00、 和0xff0000二进制分别是1111 11111111 1111 …

c byte bit-shift bit

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

谷歌地图JavaScript API v3基于已知路线的标记动画

我一直在寻找使用Google Maps JavaScript API V3制作标记动画的好方法.标记将在使用纬度和经度坐标定义的预定路径上进行动画处理.

对于我所做的所有研究,我仍然找不到与JavaScript Google Maps API版本3兼容的解决方案.看看这个早期的StackOverflow帖子,显然可以使用API​​的第2版进行动画处理,使用GRoute并使用计时器将标记的位置设置为沿着路径的点.

这是以前建议的代码.我理解它是如何在逻辑上工作的,但我不知道如何将其移植到使用Google Maps API的第3版:

function moveToStep(yourmarker,yourroute,c) {
    if {yourroute.getNumSteps() > c) {
        yourmarker.setLatLng(yourroute.getStep(c).getLatLng());
        window.setTimeout(function(){
            moveToStep(yourmarker,yourroute,c+1);
        },500);
    }
}

moveToStep(marker,route,0);
Run Code Online (Sandbox Code Playgroud)

没有提到GRoute,getNumSteps(我假设返回给定路线上定义的坐标数,setLatLng(我相信哪个得到了标记的纬度和经度坐标),或者moveToStep(实际上移动了标记)在版本3中完整的文档和参考.

似乎Google已经完全将API从版本2重写为版本3,因为这些函数(看起来非常基本)都已被删除或重命名(我不确定哪个.)

我所见过的JavaScript API第3版的动画,只有提起一直是动画当他们第一次出现在地图上的标记,使它们要么BOUNCEDROP.然而,这些实际上并不移动标记的纬度/经度坐标,而仅仅是它们放置在地图上的方式.这两个标记动画在这里的API参考中提到.

在上述相同的StackOverflow帖子中,使用JavaScript API为标记动画的工作示例提供了一个链接.但是,正如一位评论者指出的那样,动画是使用该库的早期版本完成的(可在此处获得).

最后,我想我有两个问题:

1:是否可以使用Google Maps V3 API为给定路径上的标记设置动画?

如果没有,那么

2:我是否会被迫使用已弃用的库来实现这一目标,还是有其他已知的解决方案?

非常感谢您为解决这个问题所做的任何贡献!

javascript google-maps-api-3

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

为什么 setTimeout 需要匿名函数才能工作?

我读StackOverflow上的答案在这里解释了如何使用的setTimeout来创造一种在网页上反复循环。但是,我想知道为什么 setTimeout 需要匿名函数才能工作。考虑以下代码:

trainingTimer(60,0);

function trainingTimer(duration,c) {
    document.getElementById("timer").innerHTML = "Time left: "+(duration-c);
    if(duration==c) {
        alert("Time is up!");
    }
    else {
        window.setTimeout(trainingTimer(duration,c+1),1000);
    }
}
Run Code Online (Sandbox Code Playgroud)

我是根据上面链接的答案写的,但是当它运行时,它会trainingTimer一次遍历所有 60 个调用,并立即在我的网页上显示“剩余时间:0”。但是,如果我修改

window.setTimeout(trainingTimer(duration,c+1),1000);

trainingTimer(duration,c+1)像这样包装一个匿名函数

window.setTimeout(function() {trainingTimer(duration,c+1)},1000);

那么代码工作得很好。

我想知道为什么我必须将命名函数包装在匿名函数中才能使 setInterval 正常工作。感谢所有的帮助。

javascript setinterval

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

Objective-C在void方法中传递参数

调用void方法时如何传递参数?我知道你可以这样做:

-(void)viewDidLoad {
    [self callMethod];
}

-(void)callMethod {
     //stuff here
}
Run Code Online (Sandbox Code Playgroud)

但是我如何将参数(例如a)传递NSStringcallMethod方法?

objective-c

-7
推荐指数
1
解决办法
8595
查看次数