好吧,情况就是这样:我正在尝试使用一些较旧的软件:在Ubuntu Lucid上工作正常,在Natty上失败.
所以,我strace
喋喋不休,事实证明这个软件调用ld
,并ld
最终失败:
.../ld: crt1.o: No such file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
...是的,旧的crti.o文件丢失错误:)但是,我想用更一般的术语提问...
问题是,这是"独立"(较旧)ld
,当我跑步时.../ld -verbose | less
,我得到:
...
SEARCH_DIR("/usr/local/lib");
SEARCH_DIR("/lib");
SEARCH_DIR("/usr/lib");
...
Run Code Online (Sandbox Code Playgroud)
现在,问题在于:
crt1.o
是在/usr/lib/crt1.o
crt1.o
是在/usr/lib/i386-linux-gnu/crt1.o
...所以,毫无疑问,为什么crt1.o
无法找到,我想.看来,我所要做的,就是告诉ld
寻找crt1.o
在/usr/lib/i386-linux-gnu
,但我怎么做呢?
我以为我可以使用该-L
选项,但是man ld
说:
to link a file "hello.o":
ld -o <output> /lib/crt0.o hello.o -lc
This tells ld to produce a file called output as …
Run Code Online (Sandbox Code Playgroud) 我似乎无法让ncurses pad在python(2.6,2.7和3.2)中工作.直接使用http://docs.python.org/howto/curses.html上的代码我甚至无法让它工作.非填充代码非常有效.
import curses
def func(scr):
pad = curses.newpad(100, 100)
pad.addstr(0,0, "Testing")
# Displays a section of the pad in the middle of the screen
pad.refresh( 0,0, 5,5, 10,10)
scr.refresh()
scr.getch()
if __name__ == '__main__':
curses.wrapper(func)
Run Code Online (Sandbox Code Playgroud)
问题是什么?移除垫(并将垫更换为scr)工作正常
我只是觉得我已经把它记下来了,因为我已经看过了 - 对这种行为得到确认会很好; 我确实看到如何通过引用传递变量?,但我不确定如何在这种情况下解释它.
假设我们有这两个数组/列表:
a = [1, 2, 3, 4]
b = [-1, a, -100, a[2], -1]
Run Code Online (Sandbox Code Playgroud)
口译员最初将其视为:
>>> print(a)
[1, 2, 3, 4]
>>> print(b)
[-1, [1, 2, 3, 4], -100, 3, -1]
Run Code Online (Sandbox Code Playgroud)
现在让我们改变a[2]
,看看会发生什么:
>>> print(a)
[1, 2, 55, 4]
>>> print(b)
[-1, [1, 2, 55, 4], -100, 3, -1]
Run Code Online (Sandbox Code Playgroud)
所以,无论列表b
具有的参考名单 a
,该值已经更新-但只要b
有一个(一个引用?)被初始化从元素列表a
,似乎是Python的扩展在初始化时的值,这样存储的元素值(不是通过引用),所以它的值显然不会更新.
基本上,我找到了一个用例,在这里可以方便地定义eg b = [-1 a[2] -1]
,然后更新a[2]
,并且能够计算出a[2]
获取(在这种情况下)的值时将发出的最新值b[1] …
我已经看到了:
git fetch
; gitk --all
"git push --tags
ssh username@host "cd my/repo/path && git show"
"git rev-parse --verify origin/master
将显示本地原始/主副本git ls-remote origin master
的SHA ,并获取SHA来自遥远的地方."git log remotename/branchname
- 您无法直接连接到服务器以检查其中的日志,您所做的是下载服务器的状态,git fetch
然后在本地查看远程分支的日志."由此判断,对于我想要做的事情,我必须登录ssh
并在远程服务器上运行脚本; 但我希望有更多的git集成解决方案,所以让我解释一下我想做什么.
我有一个远程仓库,它是git-svn; 然后我有一个本地git-only repo,它是遥控器的克隆.因此,本地有一个对远程URL的引用remote.origin.url
(见过git config --list
).
我想要做的是git svn log
,在遥控器上运行相当于(可能有一些后处理),但是从本地 …
显然这几乎是" 从python中的stdin读取时出现错误的管道文件描述符 - Stack Overflow "; 但是,我认为这种情况稍微复杂一些(并且它不是Windows特定的,因为该线程的结论是).
我目前正在尝试用Python编写一个简单的脚本:我想为脚本提供输入 - 通过命令行参数; 或者通过"管道"字符串到此脚本 - 并让脚本使用curses
终端接口显示此输入字符串.
这里称为完整脚本,testcurses.py
如下所示.问题是,无论何时我尝试实际的管道,这似乎搞乱了标准,curses
窗口永远不会显示.这是一个终端输出:
## CASE 1: THROUGH COMMAND LINE ARGUMENT (arg being stdin):
##
$ ./testcurses.py -
['-'] 1
stdout/stdin (obj): <open file '<stdout>', mode 'w' at 0xb77dc078> <open file '<stdin>', mode 'r' at 0xb77dc020>
stdout/stdin (fn): 1 0
env(TERM): xterm xterm
stdin_termios_attr [27906, 5, 1215, 35387, 15, 15, ['\x03', ... '\x00']]
stdout_termios_attr [27906, 5, 1215, 35387, 15, 15, ['\x03', ... …
Run Code Online (Sandbox Code Playgroud) 我想要一个节点(或一个子图,包围一个节点 - 无论哪个可能/更容易)旋转,如下图所示:
(请注意,如果旋转"B"标签对我来说无关紧要 - 只有记录中的 'verti-*' 文本[或者更确切地说,整个记录节点]如图所示旋转)
但是,我最接近的是以下dot
代码:
digraph graphname {
node [fontname=Monospace, fontsize=14];
subgraph clusterMasterBox {
node [shape=record];
l1 [label = "{ horiz-1 \r| \
horiz-2 \r| \
horiz-3 \r| \
horiz-4 \r} \
"];
subgraph clusterSubRotateBox {
rotate=90;
node [shape=record,rotate=90];
l2 [label = "{ verti-1 \r| \
verti-2 \r| \
verti-3 \r| \
verti-4 \r} \
"];
label="B";
}
label="A"
}
}
Run Code Online (Sandbox Code Playgroud)
我有subgraph clusterSubRotateBox
那里的唯一原因(以及它嵌套在里面的唯一原因clusterMasterBox
),是因为我希望我可以为它分配旋转,但显然我不能 - 因为上面的代码生成了这个图像:
所以我的问题是 - …
我刚刚发现帖子Adobe 论坛:规范中的简单文本字符串示例已损坏。,所以我对查找纯文本源代码 PDF 示例很感兴趣。
所以,通过那个帖子,我最终发现:
PDF 1.7 规范在第 699 页附录“_Annex H(信息性)示例 PDF 文件”;从那里开始,我想尝试“H.3 简单文本字符串示例”(“经典的 Hello World”)。
所以我试着把它保存为hello.pdf
(_except 当你从 PDF32000_2008.pdf 复制时,你可能会得到“ %PDF-1. 4
” - 即在 之后插入一个空格1.
,必须删除_):
%PDF-1.4
1 0 obj
<< /Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
2 0 obj
<< /Type /Outlines
/Count 0
>>
endobj …
Run Code Online (Sandbox Code Playgroud) 在这个答案中'GhostScript命令行参数将EPS转换为PDF' ; 据说pdfwrite
Ghostscript设备的默认分辨率是720x720,我最初觉得难以置信!
有没有办法列出Ghostscript设备的默认选项?
我有一张很宽的桌子 - 太宽了,无法适应屏幕宽度;所以浏览器必须显示滚动条。我想要这张桌子左边和右边有一些 20px 的空间;所以我尝试使用以下方式对其进行样式设置(完整代码如下):
table {
margin-left: 20px;
margin-right: 20px;
text-align: left;
border-collapse: collapse;
background-color: #e0e4f5;
}
Run Code Online (Sandbox Code Playgroud)
左边距按预期显示:
但右边距没有(有点难以看到 - 但请注意水平滚动条的右边缘与表格的右边缘对齐):
是否有可能获得某种右边距来显示?
这是我的完整测试代码:
表 { 左边距:20px; 右边距:20px;文本对齐:左;边框折叠:折叠;背景颜色:#e0e4f5;}
<table id="mytable">
<caption>Table caption</caption>
<thead>
<tr>
<th scope='col'>head 1</th>
<th scope='col'>head 2</th>
<th scope='col'>head 3</th>
<th scope='col'>head 4</th>
<th scope='col'>head 5</th>
<th scope='col'>head 6</th>
<th scope='col'>head 7</th>
<th scope='col'>head 8</th>
<th scope='col'>head 9</th>
<th scope='col'>head 10</th>
<th scope='col'>head 11</th>
<th scope='col'>head 12</th>
<th scope='col'>head 13</th>
<th scope='col'>head 14</th>
<th scope='col'>head …
Run Code Online (Sandbox Code Playgroud) 对于冗长的帖子道歉,我在以较短的方式制定它时遇到了麻烦.此外,这可能更适合Unix和Linux Stack Exchange,但我会先在SO处尝试,因为有一个ftrace
标签.
无论如何 - 我想观察用户程序的机器指令是否在完全function_graph
捕获的上下文中执行ftrace
.一个问题是我需要这个旧内核:
$ uname -a
Linux mypc 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 18:00:43 UTC 2012 i686 i686 i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
......在这个版本中,没有UPROBES
- 正如3.5 [LWN.net]中的Uprobes应该能够做到这一点.(只要我不需要修补原始内核,我就会愿意尝试使用树构建的内核模块,因为User-Space Probes(Uprobes)[chunghwan.com]似乎可以证明;但是至于我可以从0看到:基于Inode的uprobes [LWN.net],2.6可能需要一个完整的补丁)
但是,在这个版本上,有一个/sys/kernel/debug/kprobes
,和/sys/kernel/debug/tracing/kprobe_events
; 和Documentation/trace/kprobetrace.txt意味着可以直接在地址上设置kprobe; 即使我无法在任何地方找到如何使用它的例子.
在任何情况下,我仍然不确定使用什么地址 - 作为一个小例子,假设我想跟踪程序main
功能的开始wtest.c
(包括在下面).我可以这样做来编译并获得一个机器指令汇编列表:
$ gcc -g -O0 wtest.c -o wtest
$ objdump -S wtest | less
...
08048474 <main>:
int …
Run Code Online (Sandbox Code Playgroud)