在Perl源代码中,在哪里可以找到排序例程的实现?
我想通过修改实际的排序例程来试验Perl。 我确实对源代码进行了在Perl源代码中,在哪里可以找到排序例程的实现?,perl,Perl,我想通过修改实际的排序例程来试验Perl。 我确实对源代码进行了grep,试图找到一些名称模式提到排序的文件,但没有找到任何相关的文件 你们谁能告诉我排序实现位于哪个文件中吗?我去了 第一个搜索结果是sort.pm,这似乎是一个很好的提示。由于该模块没有定义搜索本身,因此我在那里查找了一些有助于我的关键字。我选择了\u快速排序和\u合并排序 没有显示任何相关结果,所以我尝试了快速排序 这给了我pp_sort.c,你就这样做了。差不多有2000行都是排序。我去了 第一个搜索结果是sort.pm,这
grep
,试图找到一些名称模式提到排序的文件,但没有找到任何相关的文件
你们谁能告诉我排序实现位于哪个文件中吗?我去了
第一个搜索结果是sort.pm
,这似乎是一个很好的提示。由于该模块没有定义搜索本身,因此我在那里查找了一些有助于我的关键字。我选择了\u快速排序
和\u合并排序
没有显示任何相关结果,所以我尝试了快速排序
这给了我pp_sort.c
,你就这样做了。差不多有2000行都是排序。我去了
第一个搜索结果是sort.pm
,这似乎是一个很好的提示。由于该模块没有定义搜索本身,因此我在那里查找了一些有助于我的关键字。我选择了\u快速排序
和\u合并排序
没有显示任何相关结果,所以我尝试了快速排序
这给了我pp_sort.c
,你就这样做了。几乎有2000行充满了排序。如果您计划修改Perl的内部结构,那么您需要了解Perl如何在内部工作。首先阅读perlhack
手册页,然后按照它的指示进入更多(相当长的!)手册页。如果您计划修改Perl的内部结构,您需要了解Perl如何在内部工作。首先阅读perlhack
手册页,然后按照它的指针指向更多的(相当长的!)手册页。您可以使用B::简明:
$ perl -MO=Concise -e'sort'
5 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
4 <@> sort vK ->5
3 <0> pushmark s ->4
-e syntax OK
因此:
在本例中,排序
操作码实际上存在于它自己的文件中:
*有几个例外。例如,键
操作码实际上是在Perl_do_kv
中实现的,如操作码h中的这一行所示:
#define Perl_pp_keys Perl_do_kv
如果找不到给定操作码的pp\u foo
,请检查opcode.h.您可以使用B::简明:
$ perl -MO=Concise -e'sort'
5 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
4 <@> sort vK ->5
3 <0> pushmark s ->4
-e syntax OK
因此:
在本例中,排序
操作码实际上存在于它自己的文件中:
*有几个例外。例如,键
操作码实际上是在Perl_do_kv
中实现的,如操作码h中的这一行所示:
#define Perl_pp_keys Perl_do_kv
如果您找不到给定操作码的pp\u foo
,请检查opcode.h.谢谢!我来看看。谢谢!我会看一看。教一个男人如何分类,他们会自己分类——杜撰的教一个男人如何分类,他们会自己分类——杜撰的