小编jsj*_*jsj的帖子

"使用"通知是否打印到stderr?

当用户执行具有不正确参数的程序,并且程序向用户输出"使用"指令时,是否应该将其打印到stderr?

conventions output

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

我可以使printf格式浮点数像C++流

我正在比较两个程序的输出,一个C是另一个C++,使用diff,所以输出必须相同.

是否有任何方法可以printf将它格式化,就好像它是使用打印一样<< mydouble.

我目前正在使用 printf("%g",mydouble)

以下是一些差异的例子:

c: 3.24769e-05 c++: 3.2477e-05
c: 0.0026572   c++: 0.00265721
Run Code Online (Sandbox Code Playgroud)

有趣的是,科学记数法在c中有更多的数字,十进制表示法在c ++中有更多.

printf cout

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

在MPI_Recv写入数组后释放数组

我有一个malloc'd整数数组,我填写 MPI_Recv

MPI_Recv(d.current, n, MPI_INT, 0, TAG_CURRENT_ARRAY, MPI_COMM_WORLD, &status);
Run Code Online (Sandbox Code Playgroud)

我测试了d.current之前和之后的值MPI_Recv,它没有改变(这是正确的).

我的数据正确到达.

但是,如果我尝试free数据,我会收到一个错误:

*** Error in `./bin/obddhe-mpi': free(): invalid next size (fast): 0x0965e988 ***
Run Code Online (Sandbox Code Playgroud)

在接收完美之前,完全相同的免费.

即..这个作品:

free(d.current);
//MPI_Recv(d.current, n, MPI_INT, 0, TAG_CURRENT_ARRAY, MPI_COMM_WORLD, &status);
Run Code Online (Sandbox Code Playgroud)

这失败了:

MPI_Recv(d.current, n, MPI_INT, 0, TAG_CURRENT_ARRAY, MPI_COMM_WORLD, &status);
free(d.current);
Run Code Online (Sandbox Code Playgroud)

可能MPI_Recv会做什么使免费无效!?

c malloc free mpi

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

关系代数相当于SQL"NOT IN"

是否存在与SQL表达式等价的关系代数NOT IN

例如,如果我有关系:

A1  |  A2
----------
x   |  y
a   |  b
y   |  x
Run Code Online (Sandbox Code Playgroud)

我想删除A1在A2中的关系中的所有元组.在SQL中我可能会查询:

SELECT
    *
FROM
    R
WHERE
    R.A1 NOT IN
        (
        SELECT
            A2
        FROM
            R
        )
/
Run Code Online (Sandbox Code Playgroud)

真正让我感到困惑的是如何在关系代数选择算子中进行子查询,这可能吗?:

这里有一些子查询 R.

sql relational-algebra

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

memcpy backtrace没有可用的符号

我不知道为什么我看不到这种回溯.加载我自己的二进制文件中的符号,然后libc6-dbg安装包.我需要告诉gdb在哪里找到libc符号吗?

Program received signal SIGSEGV, Segmentation fault.
__memcpy_ia32 () at ../sysdeps/i386/i686/multiarch/../memcpy.S:74
74  ../sysdeps/i386/i686/multiarch/../memcpy.S: No such file or directory.
(gdb) bt full
#0  __memcpy_ia32 () at ../sysdeps/i386/i686/multiarch/../memcpy.S:74
No locals.
#1  0x00000000 in ?? ()
No symbol table info available.
(gdb)
Run Code Online (Sandbox Code Playgroud)

gdb libc

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

如何访问SHA内在函数?

Gprof告诉我,我计算量很大的程序花费大部分时间(36%)使用AP-Hash进行散列.

我无法减少通话次数,但我仍然想让它更快,我可以从ac程序中调用内部SHA吗?

我需要intel编译器还是可以坚持使用gcc?

c hash sha intrinsics

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

在 django 视图/全局对象之间共享对象

通常在 Django 中,我想在启动时创建和配置一些对象,并使其在任何地方都可用。例如第三方 API 客户端。

所以当 django 启动时我想这样做:

from some.thirdparty import ThirdPartyClient
from django.conf import settings
...
my_thirdparty_client = ThirdPartyClient(configstring=settings.SOME_CONFIG_ITEM)
Run Code Online (Sandbox Code Playgroud)

然后在某个视图中我想这样做:

from somewhere import my_thirdparty_client

def whatever(request):
    my_thirdparty_client.do_stuff()
    my_thirdparty_client.do_even_more_stuff()
Run Code Online (Sandbox Code Playgroud)

显然,我知道我可以在视图开始时实例化客户端,但如果初始化实例的成本很高,我不想在每个请求上都这样做。

创建我想要在视图之间共享的此类对象的惯用 Django 方法是什么?

python django

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

在创建sqlite3表后,将ON DELETE CASCADE行为添加到其中

是否可以ON DELETE CASCADE在创建表后添加到表中?

我的架构如下:

CREATE TABLE skills(name varchar, skill varchar, level int, foreign key(name) references runners(name), primary key(name, skill));

如果删除了外键,我想级联.

sqlite ddl

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

编写可重用的代码

我发现自己经常不得不为不同的目的反复更改和调整旧代码,但偶尔会实现两个版本前的相同目的。

一个例子是处理素数的函数。有时我需要的是一个包含 n 个素数的列表。有时我需要的是第 n 个素数。也许我会在未来的功能中遇到第三个需求。

无论如何,我都必须执行相同的过程,但只返回不同的值。我认为必须有更好的方法来做到这一点,而不仅仅是不断更改相同的代码。我想出的可能替代方案是:

  1. 返回一个元组或一个列表,但这似乎有点混乱,因为在包括数千个项目的列表中会有各种数据类型。

  2. 使用输入语句来指导代码,尽管我宁愿在单击运行时让它为我做所有事情。

  3. 弄清楚如何利用类特性来返回类属性并在需要的地方访问它们。这对我来说似乎是最干净的解决方案,但我不确定,因为我还是个新手。

  4. 只需为每个可重用功能制作五个版本。

我不想成为一个糟糕的程序员,那么哪个选择是正确的选择?或者也许我可以做一些我没有想到的事情。

python

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

C中的位置换表

是否存在根据置换表置换位的模式或标准方法,该置换表指定结果的每个位位置 - 从源获取哪个位置.

即表0322会产生的结果0011,从0010

我目前的策略是读表的每个条目 - 创建一个位掩码,然后执行二进制掩模和源的AND,OR`ing与累积的结果.

所以处理第一表项:

result |= ( ( (int) pow(2,table[0]) & source)
Run Code Online (Sandbox Code Playgroud)

这似乎只是昂贵的和重复和家酿.我错过了一些明显标准的简单方法吗?

c bit-manipulation

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