小编Beg*_*ner的帖子

Qt编程和计算需要很长时间

我是Qt编程的新手.我必须做一些需要很长时间的计算.我使用一个编辑框和两个名为"开始"和"停止"的按钮.编辑框用于初始化."开始"按钮开始计算.在计算进行的同时,我必须能够随时停止计算.但是当我通过单击开始按钮开始计算时.正如预期的那样,在计算完成之前,我无法单击窗口上的任何组件.

我想在计算执行时正常使用窗口上的组件(尤其是停止按钮).但我对线程并不擅长,我正在寻找一种更简单的方法.有没有简单的解决方案?

c++ qt multithreading

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

在python中选择一个随机列表元素

我正在尝试创建一个带有两个列表的函数,并从每个列表中随机选择一个元素.有没有办法使用random.seed函数?

python list

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

用于求解稀疏线性方程组的C API库?

我需要从用D编写的程序中解决一个大的,稀疏的线性方程组.理想情况下,我想要一个带有D风格接口的库,但我怀疑是否存在.但是,D可以直接访问C API.因此,请建议一些解决大型,稀疏线性方程组的库,具有以下特征:

  1. 公开C API.

  2. 免费/开源.优选地,也是非Copyleft,但这不是硬性要求.

  3. 经过充分测试和调试.易于安装和使用.学术界不是为了得到关于他们的方法的论文然后完全没有维护而写的.

c linear-algebra sparse-matrix equations

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

为什么在Linux机器上堆栈大小几乎总是132KiB?

以下命令为Linux机器上每个正在运行的进程计算堆栈的大小。

# find /proc -maxdepth 1 -type d -regex '/proc/[0-9]*' -exec cat '{}'/maps \; | grep stack | cut -d' ' -f1 | gawk --non-decimal-data 'BEGIN{FS="-"} {printf "%d\n", (("0x" $2) - ("0x" $1))/1024}' | sort
Run Code Online (Sandbox Code Playgroud)

在几乎所有情况下,堆栈的大小均为132KiB。为什么这个数字如此特别?这是最小的堆栈大小吗?

c linux

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

在Linux内核中定义了tasklist_lock在哪里?

linux/shed.h包含以下向前声明:

extern rwlock_t tasklist_lock;
Run Code Online (Sandbox Code Playgroud)

但在哪里tasklist_lock定义?

linux-kernel

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

为什么cc1被称为cc1?

GCC负责编译C代码的部分cc1.这个名字来自哪里?

c gcc

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

编译器错误:未命名类型

我是c ++的新手,我通常可以挑选错误并弄清楚出了什么问题,但我很难过.

我收到一个错误,说"line | 10 | error:'class'''''''''''''''''''''''''

这是mine.h:

#ifndef MINE_H
#define MINE_H
#include <iostream>
#include <string>

using namespace std;

class mine
{

public:
mine();
string getName();

};

#endif // MINE_H
Run Code Online (Sandbox Code Playgroud)

这是mine.cpp:

#include "mine.h"
#include <iostream>
#include <string>

using namespace std;
mine::mine()
{
    //ctor
}

mine::string getName()
{

}
Run Code Online (Sandbox Code Playgroud)

c++ string types

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

在C++中在运行时在用户定义的类之间进行更改

我有两个类,一个扩展另一个.他们都有一个叫做doSomething()执行不同的方法.我希望能够有一个我可以切换class A到的指针,class B并让其余的代码运行相同,因为它们每个都有相同的方法名称.这是可能的,这是正确的方法吗?另外,我对C++很陌生,所以它可能只是一个问题.

class A {
    void doSomething()
    {
        // does something
    }
};

class B: public A {
    void doSomething()
    {
        //does something else
    }
};


main()
{
    A *ptr = new A;
    B *bptr = new B;

    // a giant loop

    ptr->doSomething();


    if(condition) 
    {
        ptr = bptr;
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers casting user-defined-types

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

在 C 中打印字节字符

我有一个似乎以字节或八位字节为单位的输入 c 字符串。当我打印它时

printf("this is string[%s]\n", inputCstr);
Run Code Online (Sandbox Code Playgroud)

它不会打印整个内容。所以我试着循环它

for (int i=0; i<len; i++) {
    printf("inputCstr[%d] = %c", i, inputCstr[i]);
}
Run Code Online (Sandbox Code Playgroud)

这会遍历整个字符串,但这实际上跳过了一些索引。例如,如果字符串是“abcdefg”,它会给出类似

inputCstr[0] = a
inputCstr[2] = c
inputCstr[5] = f
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

c string byte

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

C++中这行代码的含义

我刚开始拿起C,我正在使用代码中的RSA密码.但是,这行代码让我很困惑.积分在此处从此站点发送给作者.

char* intmsg = new char[strlen(msg)*3 + 1];
Run Code Online (Sandbox Code Playgroud)

这是可以找到该行的方法.

inline void encrypt(char* msg,FILE* fout)
{
    /* This function actually does the encrypting of each message */

    unsigned int i;
    int tmp;
    char tmps[4];
    char* intmsg = new char[strlen(msg)*3 + 1];


    /* Here, (mpz_t) M is the messsage in gmp integer 
    *  and (mpz_t) c is the cipher in gmp integer */

    char ciphertext[1000];

    strcpy(intmsg,"");

    for(i=0;i<strlen(msg);i++)
    {
        tmp = (int)msg[i];

        /* print it in a 3 character wide format …
Run Code Online (Sandbox Code Playgroud)

c++ rsa

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