小编nn0*_*n0p的帖子

安装Vundle for VIM

我无法安装Vundle

我按照GitHub上的说明进行操作;

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Run Code Online (Sandbox Code Playgroud)

而这就是......这是cd .vim的树

??? bundle
?   ??? Vundle.vim
?       ??? autoload
?       ?   ??? vundle
?       ?   ?   ??? config.vim
?       ?   ?   ??? installer.vim
?       ?   ?   ??? scripts.vim
?       ?   ??? vundle.vim
?       ??? changelog.md
?       ??? CONTRIBUTING.md
?       ??? doc
?       ?   ??? vundle.txt
?       ??? LICENSE-MIT.txt
?       ??? README.md
?       ??? test
?           ??? files
?           ?   ??? test.erl
?           ??? minirc.vim
?           ??? vimrc
??? $MYVIMRC
Run Code Online (Sandbox Code Playgroud)

7个目录,13个文件

并在.vimrc

set nocompatible …
Run Code Online (Sandbox Code Playgroud)

vim vundle

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

在Ubuntu 14.04下链接错误与`libopencv_highgui.so`,与`libtiff.so.5的奇怪结果

问题

我正在Ubuntu 14.04(64位)编译深度学习库Caffe.

Version: 2.4.8+dfsg1-2ubuntu1从ubuntu软件包服务器安装OpenCV():

sudo apt-get install libopencv-dev

Caffe使用CMake 2.8 编译.

链接错误:

链接CXX可执行文件

/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.8:未定义引用`TIFFOpen@LIBTIFF_4.0'

信息来源

似乎找不到TIFF库的一些符号.我努力找到原因(没有运气).这是关于库的一些信息.

TIFF库链接 libopencv_highgui.so.2.4.8

$ ldd libopencv_highgui.so.2.4.8 | grep tiff

libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5(0x00007f978313b000)

导入符号 libopencv_highgui.so.2.4.8

$ readelf -s libopencv_highgui.so.2.4.8 | grep TIFFOpen

62:0000000000000000 0 FUNC GLOBAL DEFAULT UND TIFFOpen@LIBTIFF_4.0(9)

注意:@符号名称中只有一个.

$ nm -D libopencv_highgui.so.2.4.8 | grep TIFFOpen

你TIFFOpen

出口符号libtiff.so.5:

$ nm -D /usr/lib/x86_64-linux-gnu/libtiff.so.5

0000000000000000 A LIBTIFF_4.0

...

00000000000429f0 T TIFFOpen

...

$ readelf -s /usr/lib/x86_64-linux-gnu/libtiff.so.5|grep TIFFOpen …

c++ opencv elf dynamic-linking unresolved-external

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

在DFS中为顶点使用3个状态有什么好处?

Nutshell算法(第2版)中深度优先搜索(DFS)的解释中,作者使用了3个状态用于顶点,比如白色(未访问),灰色(具有未访问的邻居),黑色(访问).

在此输入图像描述

两个状态(白色黑色)足以进行遍历.为什么要添加灰色状态?它用于什么?

algorithm depth-first-search graph-algorithm

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

在git命令SYNOPSIS中`()`的含义是什么?

概要git reset:

'git reset'( - patch | -p)[<tree-ish>] [ - ] [<paths> ...]

我对标记的含义有疑问.

我知道[]代表选项,<>代表替换.但是,这是什么意思()?如果没有|,是否还需要括号?

我没有在POSIX 实用程序约定中找到相关线索.

git syntax posix

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

没有定义的结构模板的目的是什么?

下面是 Boost.Python源代码的一个片段:

template <class T> struct null_ok; // how's it working?

template <class T>
inline null_ok<T>* allow_null(T* p)
{
    return (null_ok<T>*)p;
}
Run Code Online (Sandbox Code Playgroud)

可以确定的是,前向声明的 struct 没有定义null_ok,并且null_ok与模板参数无关T

Python wiki 中,给出了一些提示:

handle<> y(null_ok(x))允许 y 变为 NULL

handle<> y(x),其中 x 不是 null_ok 的结果,永远不会导致 NULL y。如果 x 为 NULL 将抛出异常

我无法弄清楚结构模板的声明(没有定义)如何null_ok达到上述目的?

c++ templates metaprogramming boost-python

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

使用 joblib 会使程序运行得更慢,为什么?

我有很多很多小任务要for循环执行。我想使用并发来加速它。我使用joblib 是因为它易于集成。但是,我发现使用joblib使我的程序运行速度比简单for迭代慢得多。这是演示代码:

import time
import random
from os import path
import tempfile
import numpy as np
import gc
from joblib import Parallel, delayed, load, dump

def func(a, i):
    '''a simple task for demonstration'''
    a[i] = random.random()

def memmap(a):
    '''use memory mapping to prevent memory allocation for each worker'''
    tmp_dir = tempfile.mkdtemp()
    mmap_fn = path.join(tmp_dir, 'a.mmap')
    print 'mmap file:', mmap_fn
    _ = dump(a, mmap_fn)        # dump
    a_mmap = load(mmap_fn, 'r+') # load
    del …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing performance multiprocessing

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

为什么要使用静态功能模板?

我正在阅读Alex Graves的rnnlib。在他的代码中,有许多静态函数模板,它们不是类成员方法,而是定义为static,而有些则不是。(请参见下文)

的一些代码片段Helpers.hpp

...
// static
template <class R> static void sort(R& r)  
{
    sort(boost::begin(r), boost::end(r));
}
// static
template <class R> static void reverse_sort(R& r) 
{
    sort(boost::rbegin(r), boost::rend(r));
}
// non static
template <class R> pair<typename range_value<R>::type, typename range_value<R>::type> minmax(const R& r) 
{
    pair<typename range_const_iterator<R>::type, typename range_const_iterator<R>::type> p = minmax_element(boost::begin(r), boost::end(r));
    return make_pair(*p.first, *p.second); 
}
// static
template <class R> static void bound_range (R& r, const typename boost::range_value<R>::type& minVal, const typename boost::range_value<R>::type& maxVal) …
Run Code Online (Sandbox Code Playgroud)

c++ static templates

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

'BeautifulSoup'和'lxml'之间的关系是什么?

lxml文档,它说:

lxml可以通过lxml.html.soupparser模块与BeautifulSoup的解析功能进行交互.它提供了三个主要功能:fromstring()和parse()使用BeautifulSoup将字符串或文件解析为lxml.html文档,并使用convert_tree()将现有的BeautifulSoup树转换为顶级元素列表.

同时,BS'也可以lxml用作解析器.[参考文献]

Beautiful Soup支持Python标准库中包含的HTML解析器,但它也支持许多第三方Python解析器.一个是lxml解析器.

BS建议使用lxml的解析器速度.

所以,如果有什么lxml用途BS,用于分析时BS的解析器是lxml 相反?

我一直在理解他们的关系.救命.

python lxml beautifulsoup html-parsing

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

Bash - 如何区分控制运算符和元字符?

根据bash 手册

control operator

执行控制功能的令牌。它是换行符或以下之一:“||”、“&&”、“&”、“;”、“;;”、“|”、“|&”、“(”或“)”。

metacharacter

不加引号时用于分隔单词的字符。元字符是空格或以下字符之一:“|”、“&”、“;”、“(”、“)”、“<”或“>”。

许多字符都是control operatormetacharacter

那么我怎么知道例如 a 的语法类别;呢?

if COND ; then CMD ; fi作为一个例子。

;control operator在上下文中似乎是 a ,因为它可以用newline代替。然而去除前置和后置空间s左右;仍然工作正常。如果它是一个运算符,它不应该被 sapces 分隔吗?

bash shell

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