小编ask*_*ker的帖子

如何在Perl中运行匿名函数?

(sub {
print 1;
})();



sub {
print 1;
}();
Run Code Online (Sandbox Code Playgroud)

我试过各种各样的方法,都错了......

perl

29
推荐指数
4
解决办法
2万
查看次数

为什么`a :: - > func;`有效吗?

package a;
sub func {
print 1;
}
package main;
a::->func;
Run Code Online (Sandbox Code Playgroud)

IMO足够了a::func,a->func.

a::->func; 对我来说看起来很奇怪,为什么Perl支持这种奇怪的语法?

perl

16
推荐指数
2
解决办法
306
查看次数

Perl中是否有内置的true/false布尔值?

可能重复:
如何在Perl中使用布尔变量?

[root@ ~]$ perl -e 'if(true){print 1}'
1
[root@ ~]$ perl -e 'if(false){print 1}'
1
Run Code Online (Sandbox Code Playgroud)

我很震惊,true并且false通过if......

perl

10
推荐指数
3
解决办法
2万
查看次数

关于Git的合并与变革

在此输入图像描述

在此输入图像描述

在此输入图像描述

以上是合并和rebase的结果.

我的问题是,在最终状态下,C5C3'是否相同?

或者说,git rebase等于git merge+删除C3

git

10
推荐指数
1
解决办法
1424
查看次数

这种代码有什么意义?

{%{$self->param}}
Run Code Online (Sandbox Code Playgroud)

它确实散列扩展,然后创建另一个散列引用.

但是不{%{$self->param}}一样$self->param吗?为什么代码打扰这个伎俩呢?

perl

9
推荐指数
3
解决办法
302
查看次数

宏观扩张的确切步骤是什么?

这不能按预期工作:

#define stringify(x) #x  
printf("Error at line " stringify(__LINE__));
Run Code Online (Sandbox Code Playgroud)

这有效:

#define stringify1(x) #x  
#define stringify(x) stringify1(x)  
printf("Error at line " stringify(__LINE__));  
Run Code Online (Sandbox Code Playgroud)

预处理用于扩展此类宏的优先级是什么?

c macros

8
推荐指数
1
解决办法
1323
查看次数

为什么我得到"在哈希元素中使用未初始化的值"?

..
use strict;
use warnings;
...

my (%customer);
%customer = ();
...
 17 sub _customer_id {
 18     my $customer_r = shift;
 19     unless(defined $customer{$customer_r}){
 20         $customer{$customer_r} = ++$customer_id;
 21     }
 22     $customer{$customer_r};
 23 }
Run Code Online (Sandbox Code Playgroud)

我只是检查是否存在一些哈希键.

但得到Use of uninitialized value in hash element的线19,20,22.

为什么?

perl

8
推荐指数
1
解决办法
2万
查看次数

gcc中的--host和--target有什么区别?

构建知道有三个系统名称:您正在构建的机器(构建),您正在构建的机器(主机),以及GCC将为(目标)生成代码的机器.配置GCC时,请使用'--build =',' - host ='和'--target ='指定它们.

是不是the machine that you are building forthe machine that GCC will produce code for同样的事情?有什么不同?

gcc cross-compiling

8
推荐指数
1
解决办法
6041
查看次数

任何人都可以理解gettimeofday是如何工作的?

根据此页面,gettimeofday是一个x86-86的系统调用(只需gettimeofday在框中搜索):

int gettimeofday(struct timeval *tv, struct timezone *tz);
Run Code Online (Sandbox Code Playgroud)

我认为迪斯应该很容易,只需准备两个指针并调用相关的syscall.

但它的disas做得更多:

(gdb) disas gettimeofday
Dump of assembler code for function gettimeofday:
0x00000034f408c2d0 <gettimeofday+0>: sub    $0x8,%rsp
0x00000034f408c2d4 <gettimeofday+4>: mov    $0xffffffffff600000,%rax
0x00000034f408c2db <gettimeofday+11>: callq  *%rax
0x00000034f408c2dd <gettimeofday+13>: cmp    $0xfffff001,%eax
0x00000034f408c2e2 <gettimeofday+18>: jae    0x34f408c2e9 <gettimeofday+25>
0x00000034f408c2e4 <gettimeofday+20>: add    $0x8,%rsp
0x00000034f408c2e8 <gettimeofday+24>: retq   
0x00000034f408c2e9 <gettimeofday+25>: mov    0x2c4cb8(%rip),%rcx        # 0x34f4350fa8 <free+3356736>
0x00000034f408c2f0 <gettimeofday+32>: xor    %edx,%edx
0x00000034f408c2f2 <gettimeofday+34>: sub    %rax,%rdx
0x00000034f408c2f5 <gettimeofday+37>: mov    %edx,%fs:(%rcx)
0x00000034f408c2f8 <gettimeofday+40>: or     $0xffffffffffffffff,%rax
0x00000034f408c2fc <gettimeofday+44>: jmp …
Run Code Online (Sandbox Code Playgroud)

assembly x86-64 system-calls

8
推荐指数
2
解决办法
4560
查看次数

open(STDOUT,'>:标量',\ $ stdout)如何在Perl中运行?

什么>:scalar意思?

以前从未见过这种代码..

perl

8
推荐指数
1
解决办法
368
查看次数

标签 统计

perl ×6

assembly ×1

c ×1

cross-compiling ×1

gcc ×1

git ×1

macros ×1

system-calls ×1

x86-64 ×1