小编kai*_*521的帖子

如何在Go中将消息打印到stderr?

我想打印一些日志用于调试和测试,但以前的日志很大,所以我应该将自己的日志打印到stderr:

go run main.go 1>/dev/null
Run Code Online (Sandbox Code Playgroud)

这样我就可以看到自己的日志了.

我该怎么办?

谢谢

linux go

12
推荐指数
2
解决办法
5779
查看次数

phpredis错误在Linux中找不到类Redis

我在安装phpredis时遇到了一个麻烦的问题

cd phpredis && ./configure && make && make install
Run Code Online (Sandbox Code Playgroud)

之后,我补充道

extension=redis.so
Run Code Online (Sandbox Code Playgroud)

进入php.ini.

我可以通过跑步得到一个好的

php -r "if (new Redis() == true){ echo \"\r\n OK \r\n\"; }"
Run Code Online (Sandbox Code Playgroud)

但是当运行http:127.0.0.1时,nginx会抛出一个错误"致命错误:在index.php中找不到类'Redis'"

<?php>
    $client = new Redis();
<?>
Run Code Online (Sandbox Code Playgroud)

我想这可能是与环境有关的一些问题......

谢谢你的建议!

php linux nginx redis phpredis

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

Python如何通过SWIG从C++中获取二进制数据(char*)?

我正在使用SWIG的Python中的C++函数,现在我遇到了一个问题.当我将char*从C++传递给Python时,char*被Python中断.

例如:

example.h文件:

char * fun()
{
    return "abc\0de";
}
Run Code Online (Sandbox Code Playgroud)

现在在Python中,我们称之为example.fun()只打印的,而不是"ABC\0de"背后的"\ 0"的数据是由Python的删除"ABC".

我想从C++中的fun()得到所有字符(它是一个可以包含'\ 0'的二进制数据),任何建议都表示赞赏

c++ python swig char

4
推荐指数
2
解决办法
5255
查看次数

由于LayoutManager为NULL,RecycleView在Fragment中崩溃

我有三个标签,所有在一个tablayout,在Tab1,有一个RecycleView.

今天我想向它添加SwipeRefreshLayout:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swiperefreshlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v7.widget.RecyclerView>

</android.support.v4.widget.SwipeRefreshLayout>
Run Code Online (Sandbox Code Playgroud)

在Tab1Fragment中:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_main_list, container, false);
    recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
    staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(staggeredGridLayoutManager); 
    swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swiperefreshlayout);
    swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light,
            android.R.color.holo_orange_light, android.R.color.holo_red_light);
    return view;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我从tab1滚动到tab2,然后回到tab1时,活动崩溃:

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean  
android.support.v7.widget.RecyclerView$LayoutManager.canScrollVertically()' on a null object reference
  at android.support.v7.widget.RecyclerView.computeVerticalScrollOffset(RecyclerView.java:1613)
  at android.view.View.canScrollVertically(View.java:12880)
Run Code Online (Sandbox Code Playgroud)

但显然我已经设置了LayoutManger!似乎交错的网格布局已经消失了......

更多Weired是,当我只是单击tab1,tab2时,Activity不会崩溃,但是当我从tab2滚动到tab1时,它崩溃了

发生了什么?谢谢!

加上整个错误日志:

12-02 16:57:59.857 …
Run Code Online (Sandbox Code Playgroud)

android listview swiperefreshlayout android-recyclerview

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

在redis.h中,skiplistnode变量“ span”是什么意思?

在中redis.h,skipnode的定义如下:

typedef struct zskiplistNode {
    robj *obj;
    double score;
    struct zskiplistNode *backward;
    struct zskiplistLevel {
        struct zskiplistNode *forward;
        unsigned int span;
    } level[];
} zskiplistNode;
Run Code Online (Sandbox Code Playgroud)

var span是什么意思?此var存储什么?

algorithm redis skip-lists data-structures

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

使用libevent编译时未定义的引用`event_new'

我现在正在使用libevent:

#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdio.h>
#include <event2/event.h>

struct event_base *base;
int PORT = 9999;
int BACKLOG = 5;

int create_bind_listen()
{
    struct sockaddr_in my_addr;
    int yes = 1;
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
    memset(&my_addr, 0, sizeof(struct sockaddr_in));
    my_addr.sin_family = AF_INET;
    my_addr.sin_port = htons(PORT);
    my_addr.sin_addr.s_addr = INADDR_ANY;
    bind(sock, (struct sockaddr*)&my_addr, sizeof(struct sockaddr));
    listen(sock, BACKLOG);
    return sock;
}

void cb_func(evutil_socket_t fd, short what, void *arg)
{
    printf("%d\n", fd);
}

int …
Run Code Online (Sandbox Code Playgroud)

c linux makefile libevent

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