Ini adalah perintah perlce yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
perlce - Perl untuk WinCE
Bangunan Perl untuk Menggerenyet
PERINGATAN
Banyak of ini dokumen memiliki menjadi sangat di luar of tanggal dan kebutuhan memperbarui, menulis ulang or
menghapus. membangun proses adalah dirombak selama itu 5.19 pengembangan jalur dan itu
arus instruksi as of bahwa waktu adalah diberikan in "SAAT INI MEMBANGUN INSTRUKSI"; itu
sebelumnya membangun instruksi, yang adalah sebagian besar digantikan tapi mungkin masih mengandung beberapa
berguna informasi, adalah meninggalkan in "TUA MEMBANGUN INSTRUKSI" tapi benar-benar perlu menghapus setelah
apa saja of menggunakan memiliki menjadi diekstrak dari Mereka.
DESKRIPSI
File ini memberikan instruksi untuk membangun Perl5.8 dan di atasnya untuk WinCE. Silakan baca
dan memahami persyaratan di mana perangkat lunak ini didistribusikan.
Umum penjelasan on kompilasi silang Menggerenyet
· miniperl dibangun. Ini adalah executable tunggal (tanpa DLL), dimaksudkan untuk berjalan pada
Win32, dan itu akan memfasilitasi proses build yang tersisa; semua binari dibangun setelahnya
asing dan tidak boleh dijalankan secara lokal.
miniperl dibangun menggunakan ./win32/Makefile; ini adalah bagian dari proses build normal yang dipanggil
sebagai ketergantungan dari wince/Makefile.ce
· Setelah miniperl dibangun, konfigurasi dipanggil untuk menciptakan hak config.pm di tempat yang tepat
dan Cross.pm yang sesuai.
Tidak seperti build Win32, miniperl tidak akan memiliki config.pm dari tuan rumah dalam jangkauan; lebih tepatnya
akan menggunakan config.pm dari dalam direktori kompilasi silang.
File lintas.pm sangat sederhana: untuk tempat lintas arsitektur yang diberikan di @INC jalur di mana
modul perl adalah, dan benar config.pm di tempat itu.
Yang mengatakan, "miniperl -Ilib -MConfig -we 1" harus melaporkan kesalahan, karena tidak bisa
menemukan config.pm. Jika tidak memberikan kesalahan -- salah config.pm tersubstitusi, dan
binari yang dihasilkan akan berantakan.
"miniperl -MCross -MConfig -we 1" harus berjalan dengan baik, dan itu akan memberikan yang benar config.pm
untuk kompilasi lebih lanjut.
· Selama fase pembuatan ekstensi, skrip ./win32/buldext.pl dipanggil, yang pada gilirannya
melangkah masuk ./ext subdirektori dan melakukan pembangunan setiap ekstensi secara bergantian.
Semua panggilan dari Makefile.PL disediakan dengan "-MCross" untuk mengaktifkan kompilasi silang.
ARUS MEMBANGUN INSTRUKSI
(Petunjuk ini mengasumsikan host adalah Windows 32-bit. Jika Anda menggunakan Windows 64-bit, maka
ubah "C:\Program Files" menjadi "C:\Program Files (x86)" secara keseluruhan.)
1. Instal EVC4 dari
http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe
Gunakan kunci yang disebutkan di
http://download.cnet.com/Microsoft-eMbedded-Visual-C/3000-2212_4-10108490.html?tag=bc
Penginstalnya kuno dan memiliki beberapa bug di jalur yang digunakannya. Anda harus memperbaikinya
mereka nanti. Pada dasarnya, beberapa hal masuk ke "C:/Program Files/Windows CE Tools", yang lain pergi
ke "C:/Windows CE Tools" terlepas dari jalur yang Anda berikan ke penginstal (default
akan menjadi "C:/Windows CE Tools"). Reboot akan diperlukan agar penginstal dapat melanjutkan.
Juga asosiasi .c dan .h dengan Visual Studio mungkin akan ditimpa saat menginstal EVC4.
Anda telah diperingatkan.
2. Unduh celib dari GitHub (menggunakan "Unduh ZIP") di
https://github.com/bulk88/celib
Ekstrak ke jalur tanpa ruang tetapi tidak ke sumber build Perl. Saya menyebut direktori ini
"celib-palm-3.0" tetapi dalam snapshot GitHub itu akan disebut "celib-master". Buat salinan
dari folder "wince-arm-pocket-wce300-release" dan ganti nama salinannya menjadi
"mengernyit-lengan-saku-wce400". Ini adalah peretasan sehingga kami dapat membangun biner CE 4.0 dengan menautkan di CE
3.0 ARM asm; penghubung tidak peduli. Windows Mobile/WinCE kompatibel dengan
kode mesin seperti Desktop Windows.
3. Unduh console-1.3-src.tar.gz dari
http://sourceforge.net/projects/perlce/files/PerlCE%20dukungan%20file/konsol/
Ekstrak ke jalur tanpa ruang tetapi tidak ke sumber build Perl. Jangan ekstrak ke dalam
direktori yang sama dengan celib. Buat salinan folder "wince-arm-pocket-wce300" dan
ganti nama salinan menjadi "wince-arm-pocket-wce400". Ini adalah peretasan sehingga kami dapat membangun CE 4.0
biner dengan menghubungkan di CE 3.0 ARM asm; penghubung tidak peduli. Windows Mobile/WinCE adalah
kompatibel dengan kode mesin seperti Desktop Windows.
4. Buka prompt perintah, jalankan file batch biasa Anda untuk mengatur lingkungan untuk desktop
Membangun Visual C, masuk ke direktori sumber perl, cd ke win32/, isi Makefile, dan
lakukan "nmake all" untuk membangun Desktop Perl.
5. Buka win32/Makefile.ce di editor teks dan lakukan sesuatu yang mirip dengan yang berikut:
tambalan.
-CELIBDLLDIR = jam:\src\wince\celib-palm-3.0
-CECONSOLEDIR = jam:\src\wince\w32console
+CELIBDLLDIR = C:\sources\celib-palm-3.0
+CECONSOLEDIR = C:\sources\w32console
Juga berubah
!jika "$(MESIN)" == ""
MESIN = meringis-lengan-hpc-wce300
#MACHINE=mengeringkan-lengan-hpc-wce211
#MESIN=wince-sh3-hpc-wce211
#MESIN=meringis-mips-hpc-wce211
#MESIN=wince-sh3-hpc-wce200
#MESIN=meringis-mips-hpc-wce200
#MACHINE=mengeringkan-lengan-saku-wce300
#MESIN = wince-mips-pocket-wce300
#MESIN = wince-sh3-pocket-wce300
#MESIN = wince-x86em-pocket-wce300
#MESIN=wince-mips-palm-wce211
#MESIN=wince-sh3-palm-wce211
#MESIN=wince-x86em-palm-wce211
#MESIN=wince-x86-hpc-wce300
#MACHINE=mengeringkan-lengan-saku-wce400
!berakhir jika
untuk
!jika "$(MESIN)" == ""
#MACHINE=mengeringkan-lengan-hpc-wce300
#MACHINE=mengeringkan-lengan-hpc-wce211
#MESIN=wince-sh3-hpc-wce211
#MESIN=meringis-mips-hpc-wce211
#MESIN=wince-sh3-hpc-wce200
#MESIN=meringis-mips-hpc-wce200
#MACHINE=mengeringkan-lengan-saku-wce300
#MESIN = wince-mips-pocket-wce300
#MESIN = wince-sh3-pocket-wce300
#MESIN = wince-x86em-pocket-wce300
#MESIN=wince-mips-palm-wce211
#MESIN=wince-sh3-palm-wce211
#MESIN=wince-x86em-palm-wce211
#MESIN=wince-x86-hpc-wce300
MESIN = meringis-lengan-saku-wce400
!berakhir jika
jadi wince-arm-pocket-wce400 adalah tipe MESIN.
6. Gunakan editor teks untuk membuka "C:\Program Files\Microsoft eMbedded C++
4.0\EVC\WCE400\BIN\WCEARMV4.BAT". Cari
jika "%SDKROOT%"=="" setel SDKROOT=...
Pada instalasi baru itu adalah "C:\Windows CE Tools". Buka "C:\Windows CE Tools" di pengelola file
dan lihat apakah "C:\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4" ada di disk Anda. Jika
bukan SDKROOT yang perlu diubah menjadi "C:\Program Files\Windows CE Tools".
Buka celib-palm-3.0\inc\cewin32.h, cari
typedef struct _ABC {
dan batalkan komentar pada struct.
7. Buka prompt perintah lain, pastikan PLATFORM belum disetel ke apa pun kecuali Anda
tahu apa yang Anda lakukan (sehingga nilai default yang benar diatur oleh perintah berikutnya), dan
jalankan "C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\WCE400\BIN\WCEARMV4.BAT"
8. Pada prompt perintah WinCE yang Anda buat dengan WCEARMV4.BAT, buka direktori sumber perl,
cd ke win32/ dan jalankan "nmake -f Makefile.ce".
9. Penerjemah ARM perl (perl519.dll dan perl.exe) akan berada di sesuatu seperti
"C:\perl519\src\win32\wince-arm-pocket-wce400", dengan XS DLL di
"C:\perl519\src\xlib\wince-arm-hpc-wce400\auto".
Untuk membuktikan keberhasilan di mesin host, jalankan "dumpbin /headers
wince-arm-pocket-wce400\perl.exe" dari folder win32/ dan cari "machine (ARM)" di
NILAI HEADER FILE dan "subsistem (Windows CE GUI)" di NILAI HEADER OPSIONAL.
LAMA MEMBANGUN INSTRUKSI
Bagian ini menjelaskan langkah-langkah yang harus dilakukan untuk membangun PerlCE. Anda mungkin menemukan tambahan
informasi tentang membangun Perl untuk WinCE dihttp://perlce.sourceforge.net> dan beberapa pra-
binari yang dibangun.
Tools & SDK
Untuk kompilasi, Anda perlu yang berikut:
· Alat Visual Tertanam Microsoft
·Microsoft Visual C++
· Sumber selib Rainer Keuchel
· Sumber konsol Rainer Keuchel
File sumber yang dibutuhkan dapat diunduh dihttp://perlce.sourceforge.net>
Membuat
Biasanya Anda hanya perlu mengedit ./win32/ce-helpers/compile.bat untuk mencerminkan sistem Anda dan
menjalankannya.
File ./win32/ce-helpers/compile.bat sebenarnya adalah pembungkus untuk memanggil "nmake -f makefile.ce"
dengan parameter yang sesuai dan menerima parameter tambahan dan meneruskannya ke "nmake"
perintah sebagai argumen tambahan. Anda harus melewati target dengan cara ini.
Untuk menyiapkan distribusi, Anda perlu melakukan hal berikut:
· pergi ke ./win32 subdirektori
· mengedit file ./win32/ce-helpers/compile.bat
· Lari
kompilasi.bat
· Lari
kompilasi.bat dist
Makefile.ce memiliki makro "CROSS_NAME", dan digunakan lebih lanjut untuk merujuk ke
skema kompilasi. Anda dapat menetapkan nama untuk itu, tetapi ini tidak perlu, karena dengan
default itu ditetapkan setelah nama konfigurasi mesin Anda, seperti
"wince-sh3-hpc-wce211", dan ini cukup untuk membedakan build yang berbeda secara bersamaan
waktu. Opsi ini dapat berguna untuk beberapa build berbeda pada platform yang sama untuk dilakukan,
mengatakan, membangun berulir. Dalam contoh berikut, kami mengasumsikan bahwa semua lingkungan yang diperlukan
variabel diatur dengan benar untuk C cross-compiler (file *.bat khusus bisa sangat cocok
untuk tujuan ini) dan Anda kompilasi.bat memiliki set parameter "MESIN" yang tepat, untuk, katakanlah,
"wince-mips-pocket-wce300".
kompilasi.bat
kompilasi.bat dist
compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
"USE_IMP_SYS=menentukan" "USE_MULTI=menentukan"
compile.bat CROSS_NAME=mips-wce300-thr "USE_ITHREADS=define" ^
"USE_IMP_SYS=define" "USE_MULTI=define" perbedaan
Jika semuanya berjalan dengan baik dan tidak ada kesalahan selama pembuatan, Anda akan mendapatkan dua distribusi independen:
"wince-mips-pocket-wce300" dan "mips-wce300-thr".
Target "dist" menyiapkan kumpulan file distribusi. Target "zipdist" bekerja sama dengan "dist" tetapi
tambahan kompres file distribusi ke dalam arsip zip.
CATATAN: selama pembuatan dapat dibuat sejumlah (atau satu) dari config.pm untuk lintas-
kompilasi ("asing" config.pm) dan itu tersembunyi di dalam ../xlib/$(CROSS_NAME) dengan
file tambahan lainnya, tetapi, dan ini penting untuk dicatat, harus ada tidak config.pm
untuk host miniperl. Jika Anda akan mendapatkan kesalahan bahwa Perl tidak dapat menemukan Config.pm di suatu tempat di
proses pembangunan ini berarti ada yang tidak beres. Kemungkinan besar Anda lupa menentukan
kompilasi silang saat menjalankan miniperl.exe ke Makefile.PL Saat membuat ekstensi untuk
kompilasi silang baris perintah Anda akan terlihat seperti
..\miniperl.exe -I..\lib -MCross=mips-wce300-thr Makefile.PL
atau hanya
..\miniperl.exe -I..\lib -MCross Makefile.PL
untuk merujuk kompilasi silang yang dibuat terakhir kali.
Semua pertanyaan yang terkait dengan pembuatan perangkat WinCE dapat ditanyakan di
[email dilindungi] milis.
Menggunakan Perl on Menggerenyet
DESKRIPSI
PerlCE saat ini ditautkan dengan jendela konsol sederhana, sehingga juga berfungsi pada non-hpc
perangkat.
Implementasi stdio sederhana membuat file stdin.txt, stdout.txt dan stderr.txt, sehingga
Anda dapat memeriksanya jika konsol Anda hanya memiliki jumlah col yang terbatas.
Ketika kode keluar bukan nol, kotak pesan muncul, jika tidak, konsol akan tertutup, jadi Anda
mungkin harus keluar dengan status 0 di program Anda untuk melihat keluaran apa pun.
stdout/stderr sekarang masuk ke file /perl-stdout.txt dan /perl-stderr.txt.
PerlIDE berguna untuk menangani perlce.
PEMBATASAN
Tidak garpu(), pipa(), buka() dan sebagainya
LINGKUNGAN
Semua vars lingkungan harus disimpan di HKLM\Environment sebagai string. Mereka dibaca di
memulai proses.
PERL5LIB
Jalur perl lib biasa (semi-daftar).
PATH
Semi-daftar untuk executable.
TMP - Tempdir.
UNIXROOTPATH
- Root untuk mengakses beberapa file khusus, yaitu / dev / null, / etc / services.
BARIS/COLS
- Baris/kolom untuk konsol.
HOME
- Direktori rumah.
UKURAN KONSOLFONT
- Ukuran untuk font konsol.
Anda dapat mengaturnya dengan cereg.exe, editor registri (jarak jauh) atau melalui PerlIDE.
PENDAFTARAN
Untuk memulai perl dengan mengklik file sumber perl, Anda harus membuat entri yang sesuai di
HKCR (lihat ce-helpers/wince-reg.bat). cereg.exe (yang harus dijalankan di desktop pc
dengan ActiveSync) dilaporkan tidak berfungsi pada beberapa perangkat. Anda harus membuat registri
entri dengan tangan menggunakan editor registri.
XS
Metode Win32 berikut sudah ada di dalamnya:
newXS("Win32::GetCwd", w32_GetCwd, file);
newXS("Win32::SetCwd", w32_SetCwd, file);
newXS("Win32::GetTickCount", w32_GetTickCount, file);
newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
newXS("Win32::IsWinNT", w32_IsWinNT, file);
newXS("Win32::IsWin95", w32_IsWin95, file);
newXS("Win32::IsWinCE", w32_IsWinCE, file);
newXS("Win32::CopyFile", w32_CopyFile, file);
newXS("Win32::Sleep", w32_Sleep, file);
newXS("Win32::MessageBox", w32_MessageBox, file);
newXS("Win32::GetPowerStatus", w32_GetPowerStatus, file);
newXS("Win32::GetOemInfo", w32_GetOemInfo, file);
newXS("Win32::ShellEx", w32_ShellEx, file);
BUG
Membuka file untuk baca-tulis saat ini tidak didukung jika mereka menggunakan stdio (normal perl
menangani file).
Jika Anda menemukan bug atau jika tidak berfungsi sama sekali di perangkat Anda, kirim email ke alamat
di bawah. Silakan laporkan detail perangkat Anda (prosesor, ceversion, devicetype
(hpc/palm/pocket)) dan tanggal file yang diunduh.
INSTALASI
Saat ini petunjuk pemasangan ada dihttp://perlce.sourceforge.net/>.
Setelah proses instalasi & pengujian akan stabil, informasi akan lebih tepat.
UCAPAN TERIMA KASIH
Port untuk Win32 digunakan sebagai referensi.
Sejarah of Menggerenyet pelabuhan
5.6.0
Port awal perl ke WinCE. Itu dilakukan di direktori terpisah bernama menggerenyet.
Pelabuhan ini didasarkan pada konten ./win32 direktori. miniperl tidak dibangun, pengguna
harus memiliki HOST perl dan mengedit dengan benar makefile.ce untuk mencerminkan ini.
5.8.0
wince port disimpan di tempat yang sama ./menggerenyet direktori, dan meringis/Makefile.ce sudah terbiasa
aktifkan kompiler asli untuk membuat HOST miniperl, yang kemudian memfasilitasi kompilasi silang
proses. Dukungan pembangunan ekstensi telah ditambahkan.
5.9.4
Dua direktori ./win32 dan ./menggerenyet digabung, jadi proses build perlce masuk
./win32 direktori.
PENULIS
Rainer Keuchel[email dilindungi]>
menyediakan pelabuhan awal Perl, yang tampaknya merupakan pekerjaan yang paling penting, karena
terobosan untuk memiliki Perl porting sama sekali. Banyak terima kasih dan kewajiban untuk Rainer!
Vadim Konovalov
membuat dukungan lebih lanjut dari port WinCE.
Daniel Dragan
memperbarui proses pembangunan selama jalur pengembangan 5.19.
Gunakan perlce online menggunakan layanan onworks.net