这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 perlce,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
perlce - 用于 WinCE 的 Perl
构建 Perl的 HPMC胶囊 WinCE的
警告
许多 of Free Introduction 文件 具有 成为 非常 of 日期 和 需要 更新, 重写 or
删除。 这个 建立 工艺 是 大修 ,我们将参加 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 5.19 发展 跟踪时 和 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
当前 说明 as of 这 次 旨在 特定 in “当前的 建造公园 指示”; 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
以前 建立 指示, 这 旨在 在很大程度上 取代 但是 五月 仍然 包含 一些
有用 信息, 旨在 左 in “老的 建造公园 指示” 但是 真 需要 删除 after
什么 of 使用 具有 很 提取 , 他们。
商品描述
该文件给出了为 WinCE 构建 Perl5.8 及更高版本的说明。 请阅读
并了解分发此软件的条款。
一般用途总体评估 解释 on 交叉编译 WinCE的
· 小程序 建成。 这是一个单一的可执行文件(没有 DLL),旨在运行
Win32,它将促进剩余的构建过程; 在它之后构建的所有二进制文件都是
外国的,不应在本地运行。
小程序 是使用构建的 ./win32/生成文件; 这是调用的正常构建过程的一部分
作为 wince/Makefile.ce 的依赖
· 后 小程序 建成, 配置文件 被调用以创建权限 配置文件 在正确的地方
及其对应的Cross.pm。
与 Win32 构建不同,miniperl 不会有 配置文件 主机触手可及; 而是
将使用 配置文件 从交叉编译目录中。
文件 交叉点 非常简单:对于@INC 中给定的跨架构位置,路径
perl 模块是,正确的 配置文件 在那个地方。
也就是说,“miniperl -Ilib -MConfig -we 1”应该会报错,因为它不能
发现 配置文件. 如果它没有给出错误 - 错误 配置文件 被替换,并且
生成的二进制文件将是一团糟。
“miniperl -MCross -MConfig -we 1”应该运行正常,它将提供正确的 配置文件
以供进一步汇编。
· 在扩展构建阶段,一个脚本 ./win32/buldext.pl 被调用,反过来
步入 ./分机 子目录并依次执行每个扩展的构建。
所有调用 生成文件 提供了“-MCross”,以便启用交叉编译。
当前 建造公园 操作步骤
(这些说明假设主机是 32 位 Windows。如果您使用的是 64 位 Windows,那么
在整个过程中将“C:\Program Files”更改为“C:\Program Files (x86)”。)
1.从安装EVC4
http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe
使用提到的密钥
http://download.cnet.com/Microsoft-eMbedded-Visual-C/3000-2212_4-10108490.html?标签= bc
安装程序很古老并且在它使用的路径上有一些错误。 你将不得不修复
他们后来。 基本上,有些内容进入“C:/Program Files/Windows CE Tools”,其他内容进入“C:/Program Files/Windows CE Tools”
进入“C:/Windows CE Tools”,不管你给安装程序的路径是什么(默认的
将是“C:/Windows CE 工具”)。 安装程序需要重新启动才能继续。
此外,在安装 EVC4 时,与 Visual Studio 的 .c 和 .h 关联可能会被覆盖。
你被警告了。
2. 从 GitHub 下载 celib(使用“下载 ZIP”)在
https://github.com/bulk88/celib
将其解压缩到无空间路径,但不解压缩到 perl 构建源。 我称这个目录
“celib-palm-3.0”但在 GitHub 快照中它将被称为“celib-master”。 复印一份
的“wince-arm-pocket-wce300-release”文件夹并将副本重命名为
“wince-arm-pocket-wce400”。 这是一个 hack 所以我们可以通过在 CE 中链接来构建一个 CE 4.0 二进制文件
3.0 ARM 汇编; 链接器不在乎。 Windows Mobile/WinCE 向后兼容
机器代码,如桌面 Windows。
3.从下载console-1.3-src.tar.gz
http://sourceforge.net/projects/perlce/files/PerlCE%20support%20文件/控制台/
将其解压缩到无空间路径,但不解压缩到 perl 构建源。 不要将其提取到
与 celib 相同的目录。 复制“wince-arm-pocket-wce300”文件夹,然后
将副本重命名为“wince-arm-pocket-wce400”。 这是一个 hack 所以我们可以构建一个 CE 4.0
二进制通过在 CE 3.0 ARM asm 中链接; 链接器不在乎。 Windows Mobile/WinCE 是
向后兼容桌面 Windows 等机器代码。
4.打开命令提示符,运行您的常规批处理文件以设置桌面环境
Visual C build,进入perl源码目录,cd进入win32/,填写Makefile,然后
做一个“nmake all”来构建一个桌面 Perl。
5.在文本编辑器中打开win32/Makefile.ce,做类似下面的操作
补丁。
-CELIBDLLDIR = h:\src\wince\celib-palm-3.0
-CECONSOLEDIR = h:\src\wince\w32console
+CELIBDLLDIR = C:\sources\celib-palm-3.0
+CECONSOLEDIR = C:\sources\w32console
也变
!if "$(MACHINE)" == ""
机器=wince-arm-hpc-wce300
#机器=wince-arm-hpc-wce211
#机器=wince-sh3-hpc-wce211
#机器=wince-mips-hpc-wce211
#机器=wince-sh3-hpc-wce200
#机器=wince-mips-hpc-wce200
#MACHINE=wince-arm-pocket-wce300
#MACHINE=wince-mips-pocket-wce300
#机器=wince-sh3-pocket-wce300
#机器=wince-x86em-pocket-wce300
#机器=wince-mips-palm-wce211
#机器=wince-sh3-palm-wce211
#机器=wince-x86em-palm-wce211
#机器=wince-x86-hpc-wce300
#MACHINE=wince-arm-pocket-wce400
!万一
至
!if "$(MACHINE)" == ""
#机器=wince-arm-hpc-wce300
#机器=wince-arm-hpc-wce211
#机器=wince-sh3-hpc-wce211
#机器=wince-mips-hpc-wce211
#机器=wince-sh3-hpc-wce200
#机器=wince-mips-hpc-wce200
#MACHINE=wince-arm-pocket-wce300
#MACHINE=wince-mips-pocket-wce300
#机器=wince-sh3-pocket-wce300
#机器=wince-x86em-pocket-wce300
#机器=wince-mips-palm-wce211
#机器=wince-sh3-palm-wce211
#机器=wince-x86em-palm-wce211
#机器=wince-x86-hpc-wce300
机器=wince-arm-pocket-wce400
!万一
所以 wince-arm-pocket-wce400 是 MACHINE 类型。
6. 使用文本编辑器打开“C:\Program Files\Microsoft eMbedded C++
4.0\EVC\WCE400\BIN\WCEARMV4.BAT”。寻找
如果 "%SDKROOT%"=="" 设置 SDKROOT=...
在新安装时,它是“C:\Windows CE Tools”。 在文件管理器中转到“C:\Windows CE Tools”
并查看磁盘上是否存在“C:\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4”。 如果
不需要将 SDKROOT 更改为“C:\Program Files\Windows CE Tools”。
转到 celib-palm-3.0\inc\cewin32.h,搜索
类型定义结构_ABC {
并取消注释结构。
7. 打开另一个命令提示符,确保 PLATFORM 没有设置为任何东西,除非你
知道你在做什么(以便下一个命令设置正确的默认值),以及
运行“C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\WCE400\BIN\WCEARMV4.BAT”
8.在你用WCEARMV4.BAT制作的WinCE命令提示符下,进入perl源目录,
cd 进入 win32/ 并运行“nmake -f Makefile.ce”。
9. ARM perl 解释器(perl519.dll 和 perl.exe)将类似于
“C:\perl519\src\win32\wince-arm-pocket-wce400”,其中包含 XS DLL
“C:\perl519\src\xlib\wince-arm-hpc-wce400\auto”。
要在主机上证明成功,请运行“dumpbin /headers
win400/ 文件夹中的 wince-arm-pocket-wce32\perl.exe”,然后在
FILE HEADER VALUES 和 OPTIONAL HEADER VALUES 中的“子系统(Windows CE GUI)”。
老 建造公园 操作步骤
本节描述构建 PerlCE 需要执行的步骤。 你可能会发现额外的
有关为 WinCE 构建 perl 的信息,请访问http://perlce.sourceforge.net> 和一些预
构建的二进制文件。
工具 & 软件开发套件(SDK)
对于编译,您需要以下内容:
· 微软嵌入式可视化工具
· 微软Visual C++
· Rainer Keuchel 的 celib-sources
· Rainer Keuchel 的控制台来源
需要的源文件可以在http://perlce.sourceforge.net>
品牌
通常你只需要编辑 ./win32/ce-helpers/compile.bat 反映您的系统和
运行。
文件 ./win32/ce-helpers/compile.bat 实际上是一个包装器来调用“nmake -f makefile.ce”
具有适当的参数,它接受额外的参数并将它们转发给“nmake”
命令作为附加参数。 你应该通过这种方式传递目标。
要准备分发,您需要执行以下操作:
· 去 ./win32 子目录
· 编辑文件 ./win32/ce-helpers/compile.bat
· 跑
编译.bat
· 跑
编译.bat dist
生成文件 有“CROSS_NAME”宏,它被进一步用来指你的交叉
编译方案。 您可以为其分配一个名称,但这不是必需的,因为通过
默认在您的机器配置名称之后分配,例如
"wince-sh3-hpc-wce211",这足以区分不同的构建
时间。 对于在同一平台上执行的多个不同构建,此选项可能很方便,
说,线程构建。 在以下示例中,我们假设所有必需的环境
为 C 交叉编译器正确设置了变量(一个特殊的 *.bat 文件可以完美地适合
为此目的)和您的 编译.bat 具有适当的“MACHINE”参数集,例如,
“wince-mips-pocket-wce300”。
编译.bat
编译.bat dist
compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
"USE_IMP_SYS=define" "USE_MULTI=define"
compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
"USE_IMP_SYS=define" "USE_MULTI=define" dist
如果一切顺利并且在构建过程中没有错误,您将获得两个独立的发行版:
“wince-mips-pocket-wce300”和“mips-wce300-thr”。
目标“dist”准备分发文件集。 目标“zipdist”的表现与“dist”相同,但
另外将分发文件压缩为 zip 存档。
注意:在构建过程中可能会创建多个(或一个) 配置文件 对于跨
汇编(“外国” 配置文件) 而那些隐藏在里面 ../xlib/$(交叉名称) -
其他辅助文件,但是,需要注意的是,应该有 没有 配置文件
用于主机 miniperl。 如果你得到一个错误,perl 找不到 Config.pm
构建过程这意味着出现问题。 很可能你忘记指定一个
调用 miniperl.exe 到 Makefile.PL 时的交叉编译
交叉编译你的命令行应该看起来像
..\miniperl.exe -I..\lib -MCross=mips-wce300-thr Makefile.PL
或者只是
..\miniperl.exe -I..\lib -MCross Makefile.PL
引用上次创建的交叉编译。
所有与 WinCE 设备构建相关的问题都可以在
[email protected] 邮件列表。
运用 Perl的 on WinCE的
商品描述
PerlCE 当前与一个简单的控制台窗口链接,因此它也适用于非 HPC
设备。
简单的 stdio 实现创建文件 标准输入文件, 标准输出文件 和 标准错误文件,所以
如果您的控制台只有有限数量的列,您可能会检查它们。
当 exitcode 非零时,会出现一个消息框,否则控制台将关闭,因此您
可能必须在程序中捕获状态为 0 的退出才能查看任何输出。
stdout/stderr 现在进入文件 /perl-stdout.txt 和 /perl-stderr.txt。
PerlIDE 可以方便地处理 perlce。
限制
没有 叉子(), 管道(), 弹出() 等等
环境
所有环境变量必须作为字符串存储在 HKLM\Environment 中。 他们在阅读
进程启动。
PERL5库
通常的 perl lib 路径(半列表)。
PATH
可执行文件的半列表。
TMP - 临时目录。
UNIX根路径
- 访问一些特殊文件的根,即 的/ dev / null的, / etc /服务.
行/列
- 控制台的行/列。
主页
- 主目录。
控制台字体大小
- 控制台字体的大小。
您可以使用 cereg.exe、(远程)注册表编辑器或通过 PerlIDE 设置这些。
REGISTRY
要通过单击 perl 源文件来启动 perl,您必须在
HKCR(见 ce-helpers/wince-reg.bat)。 cereg.exe(必须在台式电脑上执行)
使用 ActiveSync)被报告在某些设备上不起作用。 您必须创建注册表
使用注册表编辑器手动输入条目。
XS
以下 Win32 方法是内置的:
newXS("Win32::GetCwd", w32_GetCwd, 文件);
newXS("Win32::SetCwd", w32_SetCwd, 文件);
newXS("Win32::GetTickCount", w32_GetTickCount, 文件);
newXS("Win32::GetOSVersion", w32_GetOSVersion, 文件);
newXS("Win32::IsWinNT", w32_IsWinNT, 文件);
newXS("Win32::IsWin95", w32_IsWin95, 文件);
newXS("Win32::IsWinCE", w32_IsWinCE, 文件);
newXS("Win32::CopyFile", w32_CopyFile, 文件);
newXS("Win32::Sleep", w32_Sleep, 文件);
newXS("Win32::MessageBox", w32_MessageBox, 文件);
newXS("Win32::GetPowerStatus", w32_GetPowerStatus, 文件);
newXS("Win32::GetOemInfo", w32_GetOemInfo, 文件);
newXS("Win32::ShellEx", w32_ShellEx, 文件);
BUGS
如果文件使用 stdio(普通 perl
文件句柄)。
如果您发现错误或它在您的设备上根本无法运行,请将邮件发送到该地址
以下。 请报告您设备的详细信息(处理器、ceversion、设备类型
(hpc/palm/pocket)) 和下载文件的日期。
安装
目前安装说明在http://perlce.sourceforge.net/>.
安装和测试过程稳定后,信息将更加准确。
致谢
Win32 的端口被用作参考。
发展历程 of WinCE的 端口
5.6.0
perl 到 WinCE 的初始端口。 它是在名为的单独目录中执行的 畏缩.
这个端口是基于内容的 ./win32 目录。 小程序 未构建,用户
必须有 HOST perl 并正确编辑 生成文件 反映这一点。
5.8.0
wince端口保持在同一个 ./畏缩 目录,和 wince/生成文件.ce 被用来
调用原生编译器创建HOST miniperl,方便交叉编译
过程。 添加了扩展构建支持。
5.9.4
两个目录 ./win32 和 ./畏缩 被合并了,所以 perlce 构建过程进来了
./win32 目录。
作者
雷纳·库切尔[email protected]>
提供了 Perl 的初始端口,这似乎是最重要的工作,因为它是
完全移植 Perl 的突破。 对 Rainer 的感谢和义务!
瓦迪姆·科诺瓦洛夫
进一步支持 WinCE 端口。
丹尼尔·德拉甘
在 5.19 开发轨道期间更新了构建过程。
使用 onworks.net 服务在线使用 perlce