小编Dav*_*ave的帖子

LDADD和LIBADD有什么区别?

我正在尝试设置一个使用libtool库和exectuable混合的automake项目,而且我很难熟悉automake文档,尤其是.与告诉编译器链接相关.

因此,有人可以解释之间的差异LDADDLIBADD

像:

  • 何时使用另一个,
  • 哪一个采用-lname_of_library样式值与直接文件名等.

每当我尝试阅读相关文档时,似乎它假定我知道我不知道的事情.

c++ automake libtool

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

在emacs中禁止c ++命名空间缩进

可能重复:
Emacs - 覆盖缩进

我想要的是emacs不缩进命名空间内的代码

namespace a_namespace{

// no indentation
int namespace_global_variable;


// no indentation
class Class {
    // comment
    Class();
    //...
};

// and so on


}
Run Code Online (Sandbox Code Playgroud)

当我尝试修改innamespace变量,或者使用C-c C-o更改感兴趣点的缩进时,我没有得到预期的效果(实际上后者杀死了函数内部的所有缩进).

我的缩进配置如下所示(从Google emacs配置中复制):

(c-offsets-alist . ((arglist-intro vista-c-lineup-expression-plus-4)
                    (func-decl-cont . ++)
                    (member-init-intro . +)
                    (inher-intro . ++)
                    (comment-intro . 0)
                    (arglist-close . c-lineup-arglist)
                    (topmost-intro . 0)
                    (block-open . 0)
                    (inline-open . 0)
                    (substatement-open . 0)
                    (statement-cont
                     .
                     (,(when (fboundp 'c-no-indent-after-java-annotations)
                         'c-no-indent-after-java-annotations)
                      ,(when (fboundp 'c-lineup-assignments)
                         'c-lineup-assignments)
                      ++))
                    (label . …
Run Code Online (Sandbox Code Playgroud)

c++ emacs indentation

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

OpenCV:从翻译和旋转中获取透视矩阵

我正在尝试验证我的相机校准,所以我想纠正校准图像.我希望这将涉及使用调用,warpPerspective但我没有看到采用相机矩阵的明显函数,以及旋转和平移向量来生成此调用的透视矩阵.

基本上我想做这里描述的过程(特别是看到最后的图像),但从已知的相机模型和姿势开始.

是否有一个简单的函数调用,它采用相机的内在和外在参数,并计算透视矩阵用于warpPerspective

在打电话给图像warpPerspective后我会打电话undistort.

原则上,我可以通过在指定约束后解决opencv相机校准文档顶部定义的方程组来推导出解决方案Z=0,但我认为必须有一个固定的例程,允许我对我的测试图像进​​行正射校正.

在我看来,我发现很难通过所有的立体声校准结果 - 我只有一个摄像头,但想要在我只看平面测试模式的约束条件下纠正图像.

opencv camera-calibration

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

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

有没有一种很好的方法来生成swig接口的文档?

我想知道是否有任何好的技术来构建/维护界面上的文档.

我正在使用swig构建一个从c ++代码到python的接口; 大多数情况下,我只是包括c ++头文件.我正在处理至少几十个类和100个函数,因此首选自动化工具.

理想情况下,我想在c ++头文件中使用doxygen格式的注释来填充python类/方法中的文档字符串.

或者,生成单独的文档(在ascii,html ...中)也很有用.看起来早期版本的swig(1.3及更早版本)支持这种功能,但我没有看到用2.0做的方法.

是否有任何有用的(自动化)技术来记录界面?

python documentation swig

9
推荐指数
2
解决办法
2269
查看次数

计算具有任意尺寸的阵列的外积

我有两个阵列,A,B并希望在最后一个维度上采用外部产品,例如, result[:,i,j]=A[:,i]*B[:,j] 当它A,B是二维的时.

如果我不知道它们是2维还是3维,我怎么能这样做呢?

在我的具体问题A,B中,是一个更大的三维数组中的切片Z,有时可以用整数索引调用,有时A=Z[:,1,:], B=Z[:,2,:]用切片调用A=Z[:,1:3,:],B=Z[:,4:6,:].由于scipy"挤压"单身尺寸,我不知道我的输入将是什么尺寸.

我想要定义的数组外部产品应该满足

array_outer_product( Y[a,b,:], Z[i,j,:] ) == scipy.outer( Y[a,b,:], Z[i,j,:] )
array_outer_product( Y[a:a+N,b,:], Z[i:i+N,j,:])[n,:,:] == scipy.outer( Y[a+n,b,:], Z[i+n,j,:] ) 
array_outer_product( Y[a:a+N,b:b+M,:], Z[i:i+N, j:j+M,:] )[n,m,:,:]==scipy.outer( Y[a+n,b+m,:] , Z[i+n,j+m,:] )
Run Code Online (Sandbox Code Playgroud)

对于任何rank-3数组Y,Z和整数a,b,...i,j,k...n,N,...

我正在处理的问题涉及二维空间网格,每个网格点都有一个矢量值函数.我希望能够在前两个轴上的切片定义的区域上计算这些矢量的协方差矩阵(外积).

python arrays numpy scipy slice

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

实现其他前缀参数的functools.partial

functools.partial的文档说它"大致相当于":

def partial(func, *args, **keywords):
    def newfunc(*fargs, **fkeywords):
        newkeywords = keywords.copy()
        newkeywords.update(fkeywords)
        return func(*(args + fargs), **newkeywords)  # line to change
    newfunc.func = func
    newfunc.args = args
    newfunc.keywords = keywords
    return newfunc
Run Code Online (Sandbox Code Playgroud)

如果我想实现一个预先附加参数的版本,似乎我只需要更改指示的行.

在复制此代码时,我是否应该担心其他功能/陷阱?

python functools

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

如何使用shared_ptr和SWIG避免内存泄漏

我正在尝试使用boost::shared_ptr's允许我在我的python脚本中使用c ++文件I/O流对象.但是,生成的包装器警告我它正在泄漏内存.

这是一个.i显示问题的最小文件:

%module ptrtest

%include "boost_shared_ptr.i"
%include "std_string.i"

%shared_ptr( std::ofstream )

%{
#include <fstream>
#include <boost/shared_ptr.hpp>

typedef boost::shared_ptr< std::ofstream > ofstream_ptr;

ofstream_ptr mk_out(const std::string& fname ){
    return ofstream_ptr( new std::ofstream( fname.c_str() ) );
}

%}

ofstream_ptr mk_out(const std::string& fname );


%pythoncode %{

def leak_memory():
    ''' demonstration function -- when I call
        this, I get a warning about memory leaks
    ''''
    ostr=mk_out('/tmp/dont_do_this.txt')


%}
Run Code Online (Sandbox Code Playgroud)

这是警告:

In [2]: ptrtest.leak_memory()
swig/python detected a memory leak of type 'ofstream_ptr *', …
Run Code Online (Sandbox Code Playgroud)

c++ python file-io swig memory-leaks

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

通过SWIG在python中使用std :: ifstream,std :: ofstream的技巧?

有没有办法std::[io]fstream通过swig在python中使用?

我有一个c-class,其功能如下:

void readFrom(std::istream& istr);
void writeTo(std::ostream& ostr);
Run Code Online (Sandbox Code Playgroud)

我想在python中构造一个std::ofstream实例并将其作为参数传递给writeTo(并为读取做同样的事情).

我尝试过像这样的功能

std::ostream& make_ostream(const std::string& file_name){
    return std::ofstream( file_name.c_str() );
}
Run Code Online (Sandbox Code Playgroud)

在swig .i文件中,这个函数将成为接口的一部分.但这不起作用.由于流类是不可复制的,因此存在问题.

虽然std_iostream.i似乎有助于使用泛型[io]stream类,但它无助于制作我需要的文件流.

c++ python file-io swig

7
推荐指数
2
解决办法
3998
查看次数

忽略__attribute __((packed))在SWIG接口中始终是安全的吗?

由于SWIG无法解析__attribute__((packed))我想要包装的一些C结构,我通过放置一个来解决这个问题

#define __attribute__(x)
Run Code Online (Sandbox Code Playgroud)

在我的.i档案中.

什么时候会来咬我?

swig

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