小编sur*_*esh的帖子

打包python应用程序

如果我有一个由多个文件组成的python应用程序,我该如何打包和分发它?我的应用程序有一个配置文件,必须由用户填写.那么最好的管理方式是什么?我想我正在寻找类似于我在Linux机器上使用的configure/make/make install/make文档的步骤.

谢谢suresh

python packaging

11
推荐指数
3
解决办法
6977
查看次数

如何配置syslog以便应用程序日志转到特定文件

我有一个应用程序myapp应该日志文件发送/var/log/myapp.log.myapp是用C++编写的.以下示例代码仅将日志发送到/ var/log/syslog.我的操作系统是Linux - Ubuntu 12.04 - 具体而言.我还发现我的机器安装了rsyslog而不是syslog.

#include <stdio.h>
#include <unistd.h>
#include <syslog.h>

int main(void) {
    openlog("myapp", LOG_PID|LOG_CONS, LOG_USER);
    syslog(LOG_INFO, "abc 10");
    closelog();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ linux syslog rsyslog

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

boost :: date_time,g ++ - 4.7.0,编译错误

下面的代码给出了g ++ - 4.7.0的编译错误,但是用g ++ - 4.6编译得很好.

#include <iostream>
#include <boost/date_time/local_time/local_time.hpp>
using namespace std;
int main(){
    boost::posix_time::ptime time_t_epoch(boost::gregorian::date(1970,1,1));
    cout << time_t_epoch << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下是重复出现的错误消息(编译器输出大量消息)

/usr/include/boost/date_time/local_time/local_date_time.hpp:433:84: error: use of deleted function boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr(const boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&)
Run Code Online (Sandbox Code Playgroud)

我使用的是Ubuntu 12.04和libboost-date-time1.46.1.

有什么建议?

c++ ubuntu compiler-errors g++ boost-date-time

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

基于枚举值调用特定模板函数

请考虑以下代码,其中我computecost根据枚举值(类别)调用特定模板函数.在调用案例中,参数computecost是相同的.枚举值和C++类型之间存在一对一的对应关系.由于参数computecost在所有调用中始终相同,因此可以更紧凑地编写以下代码,即.不重复每个类型/枚举值.

mxClassID category = mxGetClassID(prhs);
    switch (category)  {
     case mxINT8_CLASS:   computecost<signed char>(T,offT,Offset,CostMatrix);   break;
     case mxUINT8_CLASS:  computecost<unsigned char>(T,offT,Offset,CostMatrix);  break;
     case mxINT16_CLASS:  computecost<signed short>(T,offT,Offset,CostMatrix);  break;
     case mxUINT16_CLASS: computecost<unsigned short>(T,offT,Offset,CostMatrix); break;
     case mxINT32_CLASS:  computecost<signed int>(T,offT,Offset,CostMatrix);  break;
     case mxSINGLE_CLASS: computecost<float>(T,offT,Offset,CostMatrix); break;
     case mxDOUBLE_CLASS: computecost<double>(T,offT,Offset,CostMatrix); break;
     default: break;
    }
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

vector,move semantics,nothrow和g ++ 4.7

我编写了以下代码来理解移动语义.它在g ++ - 4.6中按预期工作(即没有副本,只有移动)但在g ++ - 4.7.0中没有.我认为这是链接在g ++ - 4.7.0中的一个错误,但是这个链接说它不是g ++ - 4.7中的错误.所以,正如我从上面的链接中所理解的那样,我使移动构造函数无法生成,但它仍然只复制.但是,如果我将复制构造函数设为nothrow,则只进行移动.任何人都能解释一下吗?

#include <iostream>
#include <vector>
using namespace std;

struct S{
int v;
static int ccount, mcount;
S(){}
    //no throw constructor
    //S(nothrow)(const S & x){
S(const S & x){
    v = x.v;
    S::ccount++;
}
S(S&& x){
    v = x.v;
    S::mcount++;
}
};

int S::ccount = 0;
int S::mcount = 0;
int main(){

vector<S> v;
S s;

for(int i = 0; i < 10; i++) {
    v.push_back(std::move(s));
} …
Run Code Online (Sandbox Code Playgroud)

c++ move stdvector c++11

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

python,没有方法重载,howto?

我想编写一个名为size()的函数,它接受文件名或文件名列表,并分别返回文件的大小或大小的总和.如何在没有python中没有的函数重载的情况下执行此操作?

谢谢

苏雷什

python overloading

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

这个列表理解代码有什么问题?

我的目标是列出数组a的所有元素,这些元素的值大于它们的索引位置.我写了一个像这样的Haskell代码.

[a|i<-[0..2],a<-[1..3],a!!i>i]
Run Code Online (Sandbox Code Playgroud)

在ghci prelude提示符上测试时,我收到以下错误消息,我无法理解.

No instance for (Num [a]) arising from the literal 3 at <interactive>:1:20 Possible fix: add an instance declaration for (Num [a])

haskell

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

Python:最大递归深度

下面给出了一个函数,用于返回其参数大小的总和,可以是单个文件/目录或文件/目录列表.代码给出了错误消息,RuntimeError: maximum recursion depth exceeded while calling a Python object但我尝试测试它.

如何解决这个问题?

谢谢

苏雷什

#!/usr/bin/python3.1
import os

def fileSizes(f):
    if hasattr(f,'__iter__'):
        return sum(filter(fileSizes,f))
    if os.path.isfile(f):
        return os.path.getsize(f)
    elif os.path.isdir(f):
        total_size = os.path.getsize(f)
        for item in os.listdir(f):
            total_size += fileSizes(os.path.join(f, item))
        return total_size
Run Code Online (Sandbox Code Playgroud)

python recursion

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