小编Nat*_*man的帖子

Perl中的grep和map有什么区别?

在Perl中grep,map取一个表达式和一个列表,并计算列表中每个元素的表达式.

两者有什么区别?

perl grep map

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

是否有用于检查格式的C和C++的lint工具?

我有一个很多人都感动的代码库.虽然大多数人都努力保持代码格式良好(例如一致的缩进和使用大括号),但有些人却没有,甚至那些做的也不能总是这样做,因为我们都使用不同的编辑器,所以设置像空格vs标签是不同的.

是否有任何标准的lint工具可以检查代码是否格式正确,但实际上并没有更改它(比如indent只返回错误和警告)?

虽然这个问题可以得到普遍回答,但我的重点是C和C++,因为这就是这个项目所写的内容.

c c++ linux lint code-formatting

14
推荐指数
2
解决办法
6274
查看次数

如何根据gdb中的函数名跳转到堆栈跟踪中的帧?

由于无限递归,我正在调试堆栈溢出.当堆栈深度为700次调用时,程序将失败.

我想跳转到最初调用该函数的框架.但是,gdb一次向我显示堆栈顶部的堆栈跟踪大约20个条目,我想知道我是否能以某种方式直接跳到调用函数而不查看堆栈跟踪来查找它的编号.

为此,我希望能够根据其名称而不是其编号跳转到堆栈帧.

这可以在gdb中完成吗?

gdb stack-trace

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

用vim排列函数参数列表

当定义或调用具有足够参数的函数来跨越多行时,我希望vim将它们排成一行.例如,

def myfunction(arg1, arg2, arg, ...
               argsN-1, argN)
Run Code Online (Sandbox Code Playgroud)

这个想法是让argsN-1的'a'与args1对齐.

有没有人有办法在vim中自动发生这种情况?我已经看到对齐插件用于衬里等号(在赋值语句中)等等,但我不确定是否可以解决这个问题?

vim whitespace editor

13
推荐指数
2
解决办法
3132
查看次数

如何确定Linux中进程的最大内存使用量?

我有一个以两种不同模式运行的程序.我想比较两种模式的运行时和内存要求.使用时可以轻松确定运行时间time.实际上,在这种情况下,它非常简单,因为程序会在测试结束时报告CPU时间和挂钟时间.但是,确定内存使用情况要困难一些.

如何在整个生命周期内获取进程内存使用情况的详细信息?我想知道最大使用量和平均值.事实上,理想情况下,我想在运行的整个生命周期中使用一些内存使用情况.

linux memory-management

13
推荐指数
2
解决办法
8167
查看次数

如何在Python中生成随机数?

Python或Numpy中是否有任何内置库可以根据各种常见分布生成随机数,例如:

  • 正常
  • 泊松
  • 指数
  • 伯努利

和其他各种各样?

是否有任何此类库具有多变量分布?

python random

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

如何判断矩形矩阵在MATLAB中是否有重复的行?

我有一个n×m矩形矩阵(n!= m).找出MATLAB中是否有任何重复行的最佳方法是什么?找到重复索引的最佳方法是什么?

matlab matrix duplicates

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

如何在gnuplot中绘制图形的导数?

我有一组随时间变化的变量.我将这些测量结果放在一个名为"results"的文件中,格式如下:

# time sample
0      5
12     43
234    342
Run Code Online (Sandbox Code Playgroud)

等等...

我可以在gnuplot中轻松地绘制这个:

plot "results"
Run Code Online (Sandbox Code Playgroud)

有什么方法来绘制这些测量的导数与直接从gnuplot的关于时间(即dsample/DT),或者我要单独计算的导数和情节直接在gnuplot的?

gnuplot numerical-methods

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

gcov和switch语句

我正在使用switch语句在一些C代码上运行gcov.我已经编写了测试用例来涵盖通过switch语句的每个可能的路径,但它仍然报告switch语句中的一个分支未被采用,并且在"至少采取一次"的统计数据中报告的分支小于100%.

以下是一些示例代码:

#include "stdio.h"

void foo(int i)
{
    switch(i)
    {
        case 1:printf("a\n");break;
        case 2:printf("b\n");break;
        case 3:printf("c\n");break;
        default: printf("other\n");
    }
}

int main()
{
    int i;
    for(i=0;i<4;++i)
        foo(i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用" gcc temp.c -fprofile-arcs -ftest-coverage" 构建,运行" a",然后执行" gcov -b -c temp.c".输出指示交换机上的八个分支,一个(分支6)未被占用.

这些分支是什么?我如何获得100%的覆盖率?

c c++ gcc gcov

12
推荐指数
2
解决办法
2602
查看次数

监视程序在Linux中的内存使用情况

Linux中是否有可用的工具以图形或文本方式显示程序的内存使用情况?例如,如果我编写一个C++程序并想要验证对象是否正在内存中正确分配和解除分配,那么是否有可用的应用程序可以直观地显示正在实例化和删除的对象?当我以前在Visual Studio中编程时,我记得单步执行程序并使用调试窗格来监视内存使用情况,并且正在寻找类似于Linux中的内容.

c++ linux memory

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