我只是用来objdump -x ...检查PE文件的各个部分.
大约有90,000行reloc条目:
reloc 92 offset bc0 [524bc0] HIGHLOW
reloc 93 offset bc4 [524bc4] HIGHLOW
....
Run Code Online (Sandbox Code Playgroud)
大多数PE文件的大部分空间是否都是由上面的reloc条目组成的?
那些条目是什么?
UPDATE
任何人都可以解释重定位条目如何像上面那样工作?
我知道perl无法检测到递归引用:
$a = \$a;
Run Code Online (Sandbox Code Playgroud)
$a 在这种情况下永远不会被GC.
关于什么 :
@a = ({1,2,3}, [1,2,3]);
Run Code Online (Sandbox Code Playgroud)
是否会匿名{1,2,3}并[1,2,3]在@a超出范围时被收集?
如何证明是或否?
我有一个 Bash 脚本,它从STDINwork.sh获取一些内容并将其回显到STDOUT。
我还有一个 C 程序,return_input它也从STDIN和 printf 获取一些内容到STDOUT
但是当我这样链接它们时:
./work.sh |./return_input
Run Code Online (Sandbox Code Playgroud)
printf仅return_input在退出时输出到屏幕。为什么?
简化:
[root@ test]# cat work.sh
#!/bin/bash
for i in {1..5}
do
echo test
read
done
Run Code Online (Sandbox Code Playgroud)
的输出cat return_input.c,
#include <stdio.h>
void return_input (void){
char array[30];
gets (array);
printf("%s\n", array);
printf("%#p\n", *(long *)(array+40));
}
main() {
while(1 == 1)return_input();
return 0;
}
Run Code Online (Sandbox Code Playgroud)