InggrisPerancisSpanyol

Ad


favorit OnWorks

h2xs - Online di Cloud

Jalankan h2xs di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah h2xs 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


h2xs - mengonversi file header .h C ke ekstensi Perl

RINGKASAN


h2xs [PILIHAN ...] [file header ... [extra_libraries]]

h2xs -h|-?|--membantu

DESKRIPSI


h2xs membangun ekstensi Perl dari file header C. Ekstensi akan mencakup fungsi
yang dapat digunakan untuk mengambil nilai dari pernyataan #define yang ada di header C
file.

Grafik modul_nama akan digunakan untuk nama ekstensi. Jika module_name tidak
diberikan maka nama file header pertama akan digunakan, dengan karakter pertama
dikapitalisasi.

Jika ekstensi mungkin memerlukan pustaka tambahan, pustaka tersebut harus disertakan di sini. ekstensi
Makefile.PL akan memeriksa apakah perpustakaan benar-benar ada dan bagaimana mereka
harus dimuat. Pustaka tambahan harus ditentukan dalam bentuk -lm -lposix, dll,
seperti pada baris perintah cc. Secara default, Makefile.PL akan mencari melalui
jalur perpustakaan ditentukan oleh Konfigurasi. Jalur itu dapat ditambah dengan memasukkan argumen
dari bentuk -L/lain/perpustakaan/jalur dalam argumen ekstra-perpustakaan.

Terlepas dari namanya, h2xs juga dapat digunakan untuk membuat modul Perl murni kerangka. Lihat
-X .

PILIHAN


-A, --hilangkan-muat otomatis
Abaikan semua fasilitas autoload. Ini sama dengan -c tetapi juga menghilangkan
Pernyataan "gunakan AutoLoader" dari file .pm.

-B, --versi beta
Gunakan nomor versi gaya alfa/beta. Menyebabkan nomor versi menjadi "0.00_01" kecuali
-v ditentukan.

-C, --menghilangkan-perubahan
Mengabaikan pembuatan Perubahan file, dan menambahkan bagian HISTORY ke template POD.

-F, --cpp-bendera=bendera tambahan
Bendera tambahan untuk ditentukan ke preprosesor C saat memindai header untuk fungsi
deklarasi. Tulis opsi ini di file yang dihasilkan Makefile.PL juga.

-M, --func-topeng=reguler ekspresi
memilih fungsi/makro untuk diproses.

-O, --timpa-ok
Mengizinkan direktori ekstensi yang sudah ada sebelumnya untuk ditimpa.

-P, --hilangkan-pod
Abaikan bagian POD rintisan yang dibuat secara otomatis.

-X, --hilangkan-XS
Abaikan bagian XS. Digunakan untuk menghasilkan modul Perl murni kerangka. "-c" dan "-f" adalah
secara implisit diaktifkan.

-a, --gen-aksesor
Hasilkan metode pengakses untuk setiap elemen struct dan union. yang dihasilkan
metode diberi nama setelah nama elemen; akan mengembalikan nilai saat ini dari
elemen jika dipanggil tanpa argumen tambahan; dan akan mengatur elemen ke
nilai yang diberikan (dan mengembalikan nilai baru) jika dipanggil dengan argumen tambahan.
Struktur dan serikat yang disematkan dikembalikan sebagai penunjuk daripada yang lengkap
struktur, untuk memfasilitasi panggilan berantai.

Semua metode ini berlaku untuk tipe Ptr untuk struktur; tambahan dua metode
dibangun untuk tipe struktur itu sendiri, "_to_ptr" yang mengembalikan tipe Ptr
menunjuk ke struktur yang sama, dan metode "baru" untuk membangun dan mengembalikan yang baru
struktur, diinisialisasi ke nol.

-b, --compat-versi=versi
Menghasilkan file .pm yang kompatibel dengan versi perl yang ditentukan.

Untuk versi <5.6.0, perubahannya adalah.
- tidak menggunakan 'kami' (sebagai gantinya menggunakan 'gunakan vars')
- tidak ada 'gunakan peringatan'

Menentukan versi kompatibilitas yang lebih tinggi dari versi perl yang Anda gunakan untuk
menjalankan h2xs tidak akan berpengaruh. Jika h2x yang tidak ditentukan akan default ke kompatibilitas dengan
versi Perl yang Anda gunakan untuk menjalankan h2xs.

-c, --menghilangkan-konstan
Hilangkan "constant()" dari file .xs dan "AUTOLOAD" khusus yang sesuai dari
berkas .pm.

-d, --debug
Aktifkan pesan debug.

-e, --hilangkan-enum=[reguler ekspresi]
If reguler ekspresi tidak diberikan, lewati semua konstanta yang didefinisikan dalam C
pencacahan. Kalau tidak, lewati hanya konstanta yang didefinisikan dalam enum yang
nama cocok reguler ekspresi.

Sejak reguler ekspresi adalah opsional, pastikan sakelar ini diikuti oleh di
setidaknya satu sakelar lain jika Anda menghilangkan reguler ekspresi dan memiliki beberapa argumen yang tertunda
seperti nama file header. Ini bagus:

h2xs -e -n Modul::Foo foo.h

Ini tidak baik:

h2xs -n Modul::Foo -e foo.h

Dalam yang terakhir, foo.h diambil sebagai reguler ekspresi.

-f, --memaksa
Mengizinkan ekstensi dibuat untuk tajuk meskipun tajuk itu tidak ditemukan di
standar termasuk direktori.

-g, --global
Sertakan kode untuk menyimpan data statis dengan aman di file .xs. Ekstensi yang tidak
memanfaatkan data statis dapat mengabaikan opsi ini.

-h, -?, --membantu
Cetak penggunaan, bantuan, dan versi untuk h2xs ini dan keluar.

-k, --hilangkan-const-fungsi
Untuk argumen fungsi yang dideklarasikan sebagai "const", abaikan atribut const di yang dihasilkan
kode XS.

-m, --gen-terikat-var
Eksperimental: untuk setiap variabel yang dideklarasikan dalam file header, deklarasikan sebuah perl
variabel dengan nama yang sama secara ajaib terikat ke variabel C.

-n, --nama=modul_nama
Menentukan nama yang akan digunakan untuk ekstensi, misalnya -n RPC::DCE

-o, --buram-re=reguler ekspresi
Gunakan tipe data "buram" untuk tipe C yang cocok dengan ekspresi reguler, meskipun
tipe ini "typedef" -setara dengan tipe dari peta ketik. Tidak boleh digunakan
tanpa -x.

Ini mungkin berguna karena, katakanlah, tipe yang "typedef" -setara dengan bilangan bulat mungkin
mewakili pegangan terkait OS, dan seseorang mungkin ingin bekerja dengan pegangan ini dengan cara OO,
seperti pada "$handle->do_something()". Gunakan "-o." jika Anda ingin menangani semua
tipe "typedef" sebagai tipe buram.

Type-to-match diputihkan (kecuali koma, yang tidak memiliki spasi sebelumnya
mereka, dan beberapa "*" yang tidak memiliki spasi di antaranya).

-p, --hapus-awalan=awalan
Tentukan awalan yang harus dihapus dari nama fungsi Perl, misalnya,
-p sec_rgy_ Ini mengatur XS AWALAN kata kunci dan menghapus awalan dari fungsi
yang dimuat secara otomatis melalui mekanisme "constant()".

-s, --const-subs=sub1, sub2
Buat subrutin Perl untuk makro yang ditentukan daripada memuat otomatis dengan
konstan() subrutin. Makro ini diasumsikan memiliki tipe pengembalian tangki *,
misalnya, -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid.

-t, --tipe-default=mengetik
Tentukan tipe internal yang konstan() mekanisme yang digunakan untuk makro. Standarnya
adalah IV (bilangan bulat bertanda). Saat ini semua makro ditemukan selama pemindaian header
proses akan diasumsikan memiliki tipe ini. Versi masa depan "h2xs" dapat memperoleh
kemampuan untuk membuat tebakan yang terpelajar.

--gunakan-uji-baru
Ketika --compat-versi (-b) hadir, tes yang dihasilkan akan menggunakan "Test::More"
daripada "Test" yang merupakan default untuk versi sebelum 5.6.2. "Tes::Lebih" akan
ditambahkan ke PREREQ_PM di "Makefile.PL" yang dihasilkan.

--gunakan-tes-lama
Akan memaksa pembuatan kode pengujian yang menggunakan modul "Tes" yang lebih lama.

--skip-eksportir
Jangan gunakan "Eksportir" dan/atau ekspor simbol apa pun.

--lewati-ppport
Jangan gunakan "Devel::PPPort": tidak ada portabilitas ke versi yang lebih lama.

--lewati-pemuat otomatis
Jangan gunakan modul "AutoLoader"; tapi tetap konstan() fungsi dan "sub
AUTOLOAD" untuk konstanta.

--lewati-ketat
Jangan gunakan pragma "ketat".

--lewati-peringatan
Jangan gunakan pragma "peringatan".

-v, --Versi: kapan=versi
Tentukan nomor versi untuk ekstensi ini. Nomor versi ini ditambahkan ke
template. Standarnya adalah 0.01, atau 0.00_01 jika "-B" ditentukan. Versi
ditentukan harus numerik.

-x, --autogen-xsubs
Secara otomatis menghasilkan XSUB berdasarkan deklarasi fungsi di file header. NS
paket "C::Scan" harus diinstal. Jika opsi ini ditentukan, nama dari
file header mungkin terlihat seperti "NAME1,NAME2". Dalam hal ini NAME1 digunakan sebagai pengganti
string yang ditentukan, tetapi XSUB hanya dipancarkan untuk deklarasi yang disertakan dari file
NAMA2.

Perhatikan bahwa beberapa jenis argumen/nilai balik untuk fungsi dapat mengakibatkan
XSUB-deklarasi/typemap-entries yang perlu diedit secara manual. Itu mungkin benda-benda yang
tidak dapat dikonversi dari/ke pointer (seperti "panjang panjang"), pointer ke fungsi, atau
array. Lihat juga bagian tentang "BATASAN dari -x".

CONTOH


# Perilaku default, ekstensi adalah Rusers
h2xs rpcsvc/rusers

# Sama, tetapi ekstensi RUERS
h2xs -n RUERS rpcsvc/rusers

# Ekstensi adalah rpcsvc::rusers. Masih menemukan
h2xs rpcsvc::rusers

# Ekstensi adalah ONC::RPC. Masih menemukan
h2xs -n ONC::RPC rpcsvc/rusers

# Tanpa konstanta() atau AUTOLOAD
h2xs -c rpcsvc/rusers

# Membuat template untuk ekstensi bernama RPC
h2xs -cfn RPC

# Ekstensi adalah ONC::RPC.
h2xs -cfn ONC::RPC

# Ekstensi adalah modul Perl murni tanpa kode XS.
h2xs -X Saya::Modul

# Ekstensi adalah Lib::Foo yang bekerja setidaknya dengan Perl5.005_03.
# Konstanta dibuat untuk semua #defines dan enum yang dapat ditemukan h2xs
# di foo.h.
h2xs -b 5.5.3 -n Lib::Foo foo.h

# Ekstensi adalah Lib::Foo yang bekerja setidaknya dengan Perl5.005_03.
# Konstanta dibuat untuk semua #defines tetapi hanya untuk enum
# yang namanya tidak dimulai dengan 'bar_'.
h2xs -b 5.5.3 -e '^bar_' -n Lib::Foo foo.h

# Makefile.PL akan mencari library -lrpc di
# direktori tambahan /opt/net/lib
h2xs rpcsvc/rusers -L/opt/net/lib -lrpc

# Ekstensi adalah DCE::rgynbase
# awalan "sec_rgy_" dihilangkan dari nama fungsi perl
h2xs -n DCE::rgynbase -p detik_rgy_ dce/rgynbase

# Ekstensi adalah DCE::rgynbase
# awalan "sec_rgy_" dihilangkan dari nama fungsi perl
# subrutin dibuat untuk sec_rgy_wildcard_name dan
# detik_rgy_wildcard_sid
h2xs -n DCE::rgynbase -p detik_rgy_ \
-s sec_rgy_wildcard_name,sec_rgy_wildcard_sid dce/rgynbase

# Buat XS tanpa definisi di perl.h, tetapi dengan deklarasi fungsi
# terlihat dari perl.h. Nama ekstensinya adalah perl1.
# Saat memindai perl.h, tentukan -DEXT=extern -DdEXT= -DINIT(x)=
# Garis miring terbalik ekstra di bawah karena string diteruskan ke shell.
# Perhatikan bahwa direktori dengan file header perl akan
# ditambahkan secara otomatis untuk menyertakan jalur.
h2xs -xAn perl1 -F "-DEXT=extern -DdEXT= -DINIT\(x\)=" perl.h

# Sama dengan deklarasi fungsi di proto.h seperti yang terlihat dari perl.h.
h2xs -xAn perl2 perl.h, proto.h

# Sama tetapi pilih hanya fungsi yang cocok dengan /^av_/
h2xs -M '^av_' -xAn perl2 perl.h,proto.h

# Sama tetapi perlakukan SV* dll sebagai tipe "buram"
h2xs -o '^[S]V \*$' -M '^av_' -xAn perl2 perl.h,proto.h

Perpanjangan berdasarkan on .h dan .c arsip
Misalkan Anda memiliki beberapa file C yang mengimplementasikan beberapa fungsi, dan yang sesuai
file header. Cara membuat ekstensi yang membuat fungsi ini dapat diakses di
Perl? Contoh di bawah ini mengasumsikan bahwa file header adalah antarmuka_sederhana.h dan
antarmuka_hairy.h, dan Anda ingin modul Perl dinamai "Ext::Ension". Jika Anda membutuhkan
beberapa arahan preprosesor dan/atau menghubungkan dengan perpustakaan eksternal, lihat tanda "-F",
"-L" dan "-l" di "OPSI".

Temukan nama direktori
Mulailah dengan menjalankan dummy h2xs:

h2xs -Afn Ext::Ension

Satu-satunya tujuan dari langkah ini adalah untuk membuat direktori yang diperlukan, dan memberi tahu Anda
nama-nama direktori ini. Dari output Anda dapat melihat bahwa direktori untuk
ekstensinya adalah Perpanjangan.

Salin file C
Salin file header dan file C Anda ke direktori ini Perpanjangan.

Buat ekstensi
Jalankan h2xs, timpa file autogenerated lama:

h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h

h2xs mencari file header setelah mengubah ke direktori ekstensi, sehingga akan menemukan
file header Anda OK.

Arsipkan dan uji
Seperti biasa, lari

cd Ext/Ension
perl Makefile.PL
membuat perbedaan
membuat
buat tes

Petunjuk
Penting untuk melakukan "make dist" sedini mungkin. Dengan cara ini Anda dapat dengan mudah
bergabung(1) perubahan Anda pada file yang dibuat secara otomatis jika Anda memutuskan untuk mengedit file ".h" Anda dan
jalankan kembali h2xs.

Jangan lupa untuk mengedit dokumentasi yang dihasilkan .sore file.

Pertimbangkan file yang dibuat secara otomatis sebagai kerangka saja, Anda dapat menemukan antarmuka yang lebih baik
dari apa yang bisa ditebak oleh h2xs.

Pertimbangkan bagian ini sebagai pedoman saja, beberapa opsi h2xs lain mungkin lebih sesuai
kebutuhan Anda.

LINGKUNGAN


Tidak ada variabel lingkungan yang digunakan.

Gunakan h2xs online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    XISMuS
    XISMuS
    PERHATIAN: Pembaruan kumulatif 2.4.3 telah
    telah dirilis!! Pembaruan berfungsi untuk semua
    versi 2.xx sebelumnya. Jika meningkatkan
    dari versi v1.xx, silakan unduh dan
    i ...
    Unduh XISMuS.dll
  • 2
    facetracknoir
    facetracknoir
    Program pelacakan kepala modular itu
    mendukung banyak pelacak wajah, filter
    dan protokol permainan. Di antara pelacak
    adalah SM FaceAPI, AIC Inertial Head
    Pelacak...
    Unduh facetracknoir.dll
  • 3
    Kode QR PHP
    Kode QR PHP
    Kode QR PHP adalah sumber terbuka (LGPL)
    perpustakaan untuk menghasilkan Kode QR,
    kode batang 2 dimensi. Berdasarkan
    libqrencode C library, menyediakan API untuk
    membuat batang Kode QR...
    Unduh Kode QR PHP
  • 4
    freeciv
    freeciv
    Freeciv adalah turn-based gratis
    game strategi multipemain, di mana masing-masing
    pemain menjadi pemimpin a
    peradaban, berjuang untuk mendapatkan
    tujuan akhir: menjadi...
    Unduh Freeciv.dll
  • 5
    Kotak Pasir Cuckoo
    Kotak Pasir Cuckoo
    Cuckoo Sandbox menggunakan komponen untuk
    memantau perilaku malware di a
    Lingkungan kotak pasir; diisolasi dari
    sisa sistem. Ini menawarkan otomatis
    analisis...
    Unduh Kotak Pasir Cuckoo
  • 6
    LMS-YouTube
    LMS-YouTube
    Putar video YouTube di LMS (porting dari
    Triode's to YouTbe API v3) Ini
    aplikasi yang juga dapat diambil
    dari
    https://sourceforge.net/projects/lms-y...
    Unduh LMS-YouTube
  • Lebih banyak lagi »

Perintah Linux

Ad