小编zwo*_*wol的帖子

修复损坏的Python3.2安装(Ubuntu)

我愚蠢地从/usr/lib/python3.2中删除了subprocess.py模块,
所以我尝试通过执行来解决这个问题:

sudo apt-get install python3

但我刚收到这个错误:

回溯(最近调用最后一次):文件"/ usr/bin/py3compile",第33行,
从子进程导入PIPE,Popen ImportError:没有名为subprocess的模块dpkg:错误处理python3( - configure):
安装后的子进程安装脚本返回错误退出状态1 dpkg:依赖性问题阻止配置python3-gobject:python3-gobject依赖于python3(> = 3.2); 但是:包python3尚未配置.python3-gobject依赖于python3(<< 3.3); 但是:包python3尚未配置.dpkg:错误处理python3-gobject( - configure):依赖性问题 - 保持未配置没有写入apport报告,因为错误消息表明它是先前失败的后续错误.处理时遇到错误:python3 python3-gobject E:子进程/ usr/bin/dpkg返回错误代码(1)

那我怎么解决呢?

python apt-get

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

在C中使用exp101和log101函数

我正在尝试使用函数exp1和log101,它将长双精度作为输入并依次输出长双精度.但是,当我尝试编译该文件时,我收到以下错误消息:

/tmp/ccIvBVbG.o: In function `main':
derivative.c:(.text+0x250): undefined reference to `log101'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我已经包含math.h库并且还提供了-lm选项.这个问题的补救措施是什么?任何帮助和评论表示赞赏.

谢谢

PS Compiler是32位Ubuntu 12.04 LTS上的GCC

c math exponential

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

SIGSEGV 由“kill”生成时是否特殊?

我知道SIGSEGV当内核使用它报告内存访问冲突时不能忽略这一点。但是,如果我安装一个SIGSEGV不执行任何操作的信号处理程序,然后另一个进程使用kill该信号向我发送该信号,那么其行为是否与我使用“正常”信号(如 )相同SIGUSR1

c++ posix signals kill segmentation-fault

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

如何创建与现有目录具有相同访问权限的目录?

我需要创建一个与另一个文件夹具有相同权限的新文件夹.我的最终目标是完全复制目录及其内容.这是我的第一步,我似乎无法让它工作.

我的内容如下:

struct stat srcstat;
int srcstatus = stat(source, &srcstat);
if (chdir(dest))
    if (mkdir(dest, srcstat.st_mode)){
        printf("error: could not create <dest>\n");
        exit(1);
    }
Run Code Online (Sandbox Code Playgroud)

source是一个cstring,其中包含我想要使用其权限的文​​件夹的路径.dest是带有新文件夹路径的ac字符串.

具有旧文件夹和新文件夹权限的ls如下所示

drwxrwxrwx 2 kingacev CS-Majors 4096 Apr 18 17:03 test
drwxr-xr-x 2 kingacev CS-Majors 4096 Apr 18 18:12 test3
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是我不能以我正在尝试的方式使用srcstat.st_mode.如果是这样的话,是否有同样简单的方法来做我想做的事情?如果没有,我离这个标记有多远?

c unix stat

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

如何调用具有 for_each 循环参数的函数?

我有一个 C++ 程序,它将对象存储在一个向量中,然后用于std::for_each在每个对象上调用一个函数。std::for_each如果被调用的函数需要带参数,我不明白如何编写循环。

这是我想要工作的代码示例:

#include <vector>
#include <algorithm>
#include <functional>

class BaseClass
{
    public:
        virtual void Setup() = 0;
        virtual void DisplayText(int key, int x, int y) = 0;
};

class A: public BaseClass
{
    public:
        void Setup();
        void DisplayText(int key, int x, int y);
};

class B: public BaseClass
{
    public:
        void Setup();
        void DisplayText(int key, int x, int y);
};

void demo(A *a, B *b, std::vector<BaseClass*>& storageVector)
{
    storageVector.push_back(a);
    storageVector.push_back(b);

    std::for_each (storageVector.begin(), storageVector.end(),
        std::mem_fn(&BaseClass::Setup)); …
Run Code Online (Sandbox Code Playgroud)

c++ foreach

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

在 C 中更改数组值会产生“对‘memset’的未定义引用”

我正在初始化一个由 1 和 0 组成的 32 元素数组,作为 C 中生命游戏的起始状态。当我使用这一行时:

int board[] = {0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
               0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0};
Run Code Online (Sandbox Code Playgroud)

编译没有问题。但是,当我只是更改数组中的值,而不是数组的长度或声明时:

int board[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
               0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; …
Run Code Online (Sandbox Code Playgroud)

c arrays gcc compiler-errors riscv

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

使用malloc初始化一个char指针数组

typedef struct {
    char * array[10];
} List;

int main(void) {
    List input;
    input.array = (char **)malloc(10 * sizeof(char));
    if (input.array == NULL)
        exit(EXIT_FAILURE);

    for (i = 0; i < 10; i++) {
        input.array[i] = (char *)malloc(10 * sizeof(char));
        if (input.array[i] == NULL)
            exit(EXIT_FAILURE);
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图初始化一个10个char指针的数组,每个指针指向一个长度为10的不同字符串.

我从gcc收到以下错误:

incompatible types when assigning to type ‘char *[10]’ from type ‘char **’
Run Code Online (Sandbox Code Playgroud)

我对malloc的调用一定不正确,但是怎么回事?

c arrays malloc initialization

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

为什么ftell在这个函数中返回0?

当我运行我的程序并且我选择查看产品列表时,它不会打印任何内容.过了一段时间,我发现它的值fl_size总是为0.这是为什么?

void view_prdct_code_list() {
        FILE *stock = fopen("stock.dat","r+");
        assert(stock);

        int fl_size=ftell(stock);
        int prd_size= sizeof(product);
        int quantity= fl_size/prd_size;
        printf("fl_size=%d",fl_size);

        fseek(stock,0,SEEK_SET);
        prdct cprd= (product *)malloc (sizeof(product)*quantity);
        assert(cprd);

        int i;

        fread(cprd,prd_size,quantity,stock);

        for (i=0;i<quantity;i++){
                printf("PRODUCT CODE: %d\n",cprd->code);
        }

        free(cprd);
        fclose(stock);
}
Run Code Online (Sandbox Code Playgroud)

c ftell

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

matplotlib 中的“面板条形图”

我想使用 matplotlib 生成这样的图:

“面板条形图”
(来源:peltiertech.com

我的数据位于 pandas DataFrame 中,并且我已经得到了常规的堆叠条形图,但我不知道如何执行每个类别都有自己的 y 轴基线的部分。

理想情况下,我希望所有子图的垂直比例完全相同,并将面板标签移到一侧,以便行之间没有间隙。

matplotlib facet bar-chart pandas

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

从集合中删除满足谓词的所有元素

给定一个可变set对象,

A = set(1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)

我可以构造一个新的集合,只包含那些不满足谓词的对象......

B = set(x for x in A if not (x % 2 == 0))
Run Code Online (Sandbox Code Playgroud)

...但是我如何就地修改A以仅包含这些对象?如果可能,请在线性时间内执行此操作,不要构建 O(n) 大小的临时对象,也不要从 中删除任何A不满足谓词的内容,即使是暂时的。

(这里使用整数只是为了简化示例。在实际代码中,它们是Future对象,我试图取出那些已经完成的对象,预计它们只是总数的一小部分。)

请注意,一般来说,在 Python 中改变您正在迭代的对象是不安全的。我不确定集合的确切规则(无论哪种方式,文档都不做任何保证)。

我只需要3.4+ 的答案,但会采用更一般的答案。

python python-3.x

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