小编tre*_*eed的帖子

ARM的交叉编译perl

我正在尝试交叉编译ARM体系结构的perl解释器(FriendlyARM Micro2440).我正在使用制造商提供的ARM-Linux GCC 4.4.3交叉编译器.该板正在运行Linux 2.6.

我能够成功交叉编译一个基本的"Hello World"应用程序,并在目标机器上运行.

我已经下载了perl v5.12.3源代码.我能够为Ubuntu做一个正常的perl编译.我现在正在尝试为ARM板进行交叉编译.我正在使用源代码下载中的perl-5.12.3/Cross文件夹.

make patch成功,但当我运行make perl它失败了

LD_LIBRARY_PATH=/home/reed022/.local/share/Trash/files/perl-5.2.12.3 arm-linux-gcc  -o miniperl \
        gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o   \
        miniperlmain.o opmini.o perlmini.o -lnsl -ldl -lm -lcrypt -lutil -lc 
LD_LIBRARY_PATH=/home/reed022/.local/share/Trash/files/perl-5.2.12.3  ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
./miniperl: 1: …
Run Code Online (Sandbox Code Playgroud)

perl cross-compiling

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

使用Schedule :: Cron更改预定时间

我在Perl中编写一个需要每晚同时运行的脚本,除非有时需要更改.我在CPAN上找到了Schedule :: Cron,它完成了我想要它做的事情.根据run方法的文档,

nofork => 1

启动调度程序时不要分叉.相反,作业在当前进程中执行.在执行的作业中,您可以完全访问脚本的全局变量,因此可能会影响在不同时间运行的其他作业.

这是我想做的,但它没有做.每当我检查全局变量的内存位置时,它们都是相同的,但是当任务开始时,该值不会更改.

我在Windows和Linux上都运行了这个,我让其他人查看代码,看看我的逻辑是否正确.我需要做些什么来保持对全局变量的更改.

use warnings;
use strict;

use Schedule::Cron;
use Time::localtime;

use constant {
    EVERY_DAY_10PM => '* * * * * 4,16,28,40,52',
    EVERY_DAY_NOON => '* * * * * 0,12,24,36,48',
    EVERY_DAY_2AM => '* * * * * 7,19,31,43,55'
};

############GLOBAL VARIABLES############
our $cron = new Schedule::Cron(\&runUpdate);
our $cronId;
our $updateTimeDirty = 0;
############END GLOBAL VARIABLES############

############MAIN PROGRAM BODY############
$cronId = $cron->add_entry(EVERY_DAY_10PM);#defaults to \&runUpdate
$cron->add_entry(EVERY_DAY_NOON, \&changeTime);
$cron->run(no_fork => 1);
############END MAIN PROGRAM BODY############ …
Run Code Online (Sandbox Code Playgroud)

perl perl-module scheduled-tasks

3
推荐指数
1
解决办法
1355
查看次数