locate.pl

来自「基于组件方式开发操作系统的OSKIT源代码」· PL 代码 · 共 32 行

PL
32
字号
#!/usr/bin/perl$errpos = hex($ARGV[0])/4;$ofs=0;open (INPUT, "cc -E ncr.c 2>/dev/null |");while ($_ = <INPUT>){    last if /^struct script \{/;}while ($_ = <INPUT>){    last if /^\}\;/;    ($label, $size) = /ncrcmd\s+(\S+)\s+\[([^]]+)/;    $size = eval($size);    if ($label) {	if ($errpos) {	    if ($ofs + $size > $errpos) {		printf ("%4x: %s\n", $ofs * 4, $label);		printf ("%4x: %s + %d\n", $errpos * 4, $label, $errpos - $ofs);		last;	    }	    $ofs += $size;	} else {	    printf ("%4x: %s\n", $ofs * 4, $label);	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?