我正在尝试在带有Snow Leopard的Mac上安装Valgrind但是我遇到了错误.这就是我在Terminal中输入的内容.
$ curl -O http://valgrind.org/downloads/valgrind-3.8.1.tar.bz2
$ md5sum valgrind-3.8.1.tar.bz2
$ tar -xjvf valgrind-3.8.1.tar.bz2
$ cd valgrind-3.8.1
$ ./configure
$ make
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误.
Making all in coregrind
make[2]: *** No rule to make target `/usr/include/mach/mach_vm.defs', needed by `m_mach/mach_vmUser.c'. Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我该如何更正此错误?
在查看Think Complexity中的一些代码时,我注意到他们的Graph类为自己分配值.我已经从该类中复制了一些重要的行,并编写了一个示例类,ObjectChild但这种行为失败了.
class Graph(dict):
def __init__(self, vs=[], es=[]):
for v in vs:
self.add_vertex(v)
for e in es:
self.add_edge(e)
def add_edge(self, e):
v, w = e
self[v][w] = e
self[w][v] = e
def add_vertex(self, v):
self[v] = {}
class ObjectChild(object):
def __init__(self, name):
self['name'] = name
Run Code Online (Sandbox Code Playgroud)
我确定不同的内置类型都有自己的使用方式,但我不确定这是否应该尝试构建到我的类中.有可能,怎么样?这是我不应该打扰的东西,而是依靠简单的构图,例如self.l = [1, 2, 3]?在内置类型之外应该避免吗?
我问,因为我被告知"你几乎不应该继承内置的python集合"; 建议我犹豫是否要限制自己.
为了澄清,我知道它ObjectChild不会"起作用",我可以很容易地使它 "工作",但我很好奇这些内置类型的内部工作方式使它们的界面与一个孩子不同object.
如果所有值都不超过一个或多个字节,并且没有字节可以包含元数据,那么系统如何跟踪字节所代表的数字类型?在维基百科上查看两个补码和单点揭示了这些数字如何用二进制表示,但我仍然想知道编译器或处理器(不确定我在这里处理的是什么)如何确定这个字节必须是有符号整数.
它类似于接收加密的信件,并且看着我的密码架,想知道要抓住哪一个.有些指标是必要的.
如果我想一下我可以做些什么来解决这个问题,我会想到两个解决方案.我要么声称一个额外的字节并用它来存储描述,要么我会专门为数值表示分配内存部分; 用于签名号码的部分,用于花车的部分等.
我主要在Unix系统上处理C,但这可能是一个更普遍的问题.
当我less在Mac终端中使用该命令时,我显示了指定文件的23行切片.如果我向下移动文件,然后在终端窗口中向上滚动,我在当前切片之前看不到任何文件内容.相反,我看到我在使用之前键入的命令less.
我想使用这个或类似的效果创建一个ascii游戏界面,只显示当前屏幕,没有历史记录.我会在屏幕上绘制我的帧并仅更改这些帧中的文本或选项.这在大多数或完全在命令行环境中运行的旧系统中非常常见.
是否有提供此功能的Python模块?这是我能够或应该自己实施的效果吗?
以下是一些可以从此效果中受益的示例屏幕元素.
+-------------------------------------------------------------------+
| |
| Dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog. |
| |
| |
| |
+--------------------+---------------+------------------------------+
| Attack | South | HP/Max MP/Max |
| > Cast Magic …Run Code Online (Sandbox Code Playgroud) 此脚本应接受一组搜索字词,并返回格式化的网址以搜索Google.
$ ./google_search.sh albert einstein
https://www.google.com/search?q=albert+einstein
Run Code Online (Sandbox Code Playgroud)
它做得很好,所以我决定添加一个选项来搜索特定网站,或者使用-s或-S标记忽略该网站.
$ ./google_search.sh -s wikipedia.org albert einstein
https://www.google.com/search?q=albert+einstein+site%3Awikipedia.org
Run Code Online (Sandbox Code Playgroud)
这在您第一次运行脚本时有效,但在每次后续尝试时都会失败.
$ ./google_search.sh -s wikipedia.org albert einstein
https://www.google.com/search?q=albert+einstein
$ ./google_search.sh -s wikipedia.org albert einstein
https://www.google.com/search?q=albert+einstein
Run Code Online (Sandbox Code Playgroud)
打开新的终端窗口或重新启动终端都可以清除此问题,并在失败前再尝试一次.
剧本:
#!/bin/bash
# original source of concatenate_args function by Tyilo:
# http://stackoverflow.com/questions/9354847/concatenate-inputs-in-bash-script
function concatenate_args
{
string=""
ignorenext=0
for a in "$@" # Loop over arguments
do
if [[ "${a:0:1}" != "-" && $ignorenext = 0 ]] # Ignore flags (first character is -)
then
if [[ …Run Code Online (Sandbox Code Playgroud)