小编Nat*_*man的帖子

Perl中系统和反引号和管道之间的区别是什么?

Perl支持运行外部程序的三种方式(我知道):

system:

   system PROGRAM LIST
Run Code Online (Sandbox Code Playgroud)

如:

system "abc";
Run Code Online (Sandbox Code Playgroud)

反引号如:

`abc`;
Run Code Online (Sandbox Code Playgroud)

通过管道运行它,如:

open ABC, "abc|";
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别?这就是我所知道的:

  1. 您可以使用反引号和管道轻松获取命令的输出.
  2. 就是这样(在未来的编辑中更多?)

perl system pipe backticks

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

如何在xargs中使用别名命令?

我的.aliases中有以下别名:

alias gi grep -i
Run Code Online (Sandbox Code Playgroud)

我想foo在所有bar名称中包含字符串的文件中查找不区分大小写的内容:

find -name \*bar\* | xargs gi foo
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

xargs: gi: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有没有办法在xargs中使用别名,或者我是否必须使用完整版本:

   find -name \*bar\* | xargs grep -i foo
Run Code Online (Sandbox Code Playgroud)

注意: 这是一个简单的例子.此外,gi我有一些非常复杂的别名,我不能轻易手动扩展.

编辑: 我用过tcsh,所以请指明答案是否是特定于shell的.

linux tcsh xargs

26
推荐指数
4
解决办法
8391
查看次数

徽标编程语言实现

Joel播客#58期间提出"笑话"问题让我对Logo感兴趣,这是我在Basic之后编写的第二种语言,这就是为什么我在大学时没有遇到任何麻烦.

有没有针对Windows或Linux(我可以使用的平台)或Mac的Logo的实现(因为我知道我并不孤单在这个世界上)?如何获取计算机的徽标编程语言?

linux windows macos logo-lang

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

有没有办法在gdb中设置一个以调用堆栈为条件的断点?

我正在Linux上的gdb 7.1中调试C++.

我有一个a()在代码中的许多地方调用的函数.我想在其中设置一个断点,但只有从它调用它b().有什么办法吗?

有没有什么方法可以做到这一点,只有b()c()无线电话中调用,等等?

c++ callstack gdb breakpoints

26
推荐指数
4
解决办法
4223
查看次数

什么是无滴答的操作系统?

我听说过"Tickless OS"这个词.

  • 这是什么意思?
  • 哪些操作系统没用?
  • 它与非无滴答(嘀嗒?)操作系统有何不同?

operating-system

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

gcc优化级别有什么区别?

GCC中不同优化级别之间有什么区别?假设我不关心任何调试挂钩,为什么我不能使用可用的最高级别的优化?更高级别的优化是否必然(即可证明)生成更快的程序?

linux gcc

24
推荐指数
2
解决办法
7405
查看次数

在垂直和水平分割之间切换窗口时,光标在vim中消失

我一直在将VIM中的一些窗口从垂直切换到水平分割,然后使用:

CTRL-W + K
CTRL-W + L
CTRL-W + J
CTRL-W + H
Run Code Online (Sandbox Code Playgroud)

这样做了几次光标就消失了.我仍然可以输入,底部的状态栏仍然显示我的位置,但没有闪烁的光标.任何想法:

  1. 为什么会这样?
  2. 如何让光标回来?

我在Linux上使用vim 7.2

vim split cursor

23
推荐指数
2
解决办法
8214
查看次数

如何从gdb命令提示符执行外部命令?

我正在使用gdb调试程序.每当我错过断点或决定添加另一个观察点时,我必须终止该过程并重新运行它.为了将现有的gdb附加到它,我使用attach <pid>.但是,我必须找出新流程的pid.

我今天这样做的方法是暂停gdb,获取pid ps -C <program_name>然后返回gdb以附加到它.

有没有办法从gdb命令提示符运行unix命令而不退出到shell,所以我可以从gdb内部执行类似这样的操作:

attach `ps -C <program_name>`
Run Code Online (Sandbox Code Playgroud)

我正在研究linux.

gdb

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

我应该如何在C++的类方法中正确使用__attribute __((format(printf,x,y)))?

我正在尝试为调试打印定义一个类方法,其行为类似于printf:

inline void debug(const char* fmt, ...) __attribute__ ((format (printf, 1, 2)))
Run Code Online (Sandbox Code Playgroud)

这抱怨:

error: format string argument not a string type
Run Code Online (Sandbox Code Playgroud)

我记得类方法声明有一个隐式this参数,所以我将参数的位置更改为2,3:

inline void debug(const char* fmt, ...) __attribute__ ((format (printf, 2, 3)))
Run Code Online (Sandbox Code Playgroud)

现在它编译,但看起来像参数被移位,就好像this参数被视为参数列表的一部分.

如何判断this不属于我要打印的字符串的函数?

c++ printf gcc string-formatting

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

无法在Python中导入Numpy

我正在尝试编写一些使用Numpy的代码.但是,我无法导入它:

Python 2.6.2 (r262, May 15 2009, 10:22:27) 
[GCC 3.4.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
Run Code Online (Sandbox Code Playgroud)

我尝试了这个问题中的建议:

>>> import sys
>>> print sys.path
['', '/usr/intel/pkgs/python/2.6.2/lib/python26.zip', '/usr/intel/pkgs/python/2.6.2/lib/python2.6', '/usr/intel/pkgs/python/2.6.2/lib/python2.6/plat-linux2', '/usr/intel/pkgs/python/2.6.2/lib/python2.6/lib-tk', '/usr/intel/pkgs/python/2.6.2/lib/python2.6/lib-old', '/usr/intel/pkgs/python/2.6.2/lib/python2.6/lib-dynload', '/usr/intel/pkgs/python/2.6.2/lib/python2.6/site-packages']
Run Code Online (Sandbox Code Playgroud)

我搜索了numpy该路径中命名的文件:

$ find /usr/intel/pkgs/python/2.6.2/bin/python -iname numpy\*
Run Code Online (Sandbox Code Playgroud)

但没有出现.

所以...

  • 是否还有其他通常安装Python模块的地方?
  • 如果事实证明它没有安装在中心区域,我如何在我的帐户中本地安装numpy?

python import numpy

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