Kullanım
h2ph [-d hedef dizin] [-r | -a] [-l] [-h] [-e] [-D] [-Q] [başlıkdosyaları]
Açıklama
h2ph, belirtilen tüm C başlık dosyalarını ilgili Perl başlık dosyası biçimine dönüştürür. En kolay şekilde /usr/include dizinindeyken çalıştırılır:
cd /usr/include; h2ph * sys/*
veya
cd /usr/include; h2ph * sys/* arpa/* netinet/*
veya
cd /usr/include; h2ph -r -l .
Çıktı dosyaları, Perl'in mimariye bağımlı kütüphane dizinini temel alan hiyerarşiye yerleştirilir. -d seçeneği ile farklı bir hiyerarşi belirtebilirsiniz.
Herhangi bir argüman olmadan çalıştırılırsa, standart girdiyi standart çıktıya filtreler.
Seçenekler
-d hedef_dizin Elde edilen .ph dosyalarını varsayılan Perl kütüphane konumu ($Config{'installsitearch'}) yerine hedef_dizin altına yerleştirir.
-r: Özyinelemeli (recursively) olarak çalıştırır; eğer başlık dosyalarından herhangi biri dizinse, h2ph aracını bu dizinlerdeki (ve bunların alt dizinlerindeki vb.) tüm dosyalar üzerinde çalıştırır. -r ve -a seçenekleri birbirini dışlar.-a: Kendiliğinden (automagically) çalıştırır; başlık dosyalarının yanı sıra bunların dahil ettiği (.h) dosyalarını da dönüştürür. Bu seçenek, C derleyicinizin normalde kullandığı tüm dizinlerde .h dosyalarını arar. -a ve -r seçenekleri birbirini dışlar.-l: Sembolik bağlar hedef dizinde yeniden oluşturulur. Eğer -l belirtilmemişse sembolik bağlar atlanır.-h: .ph dosyalarına h2ph ile ilgili sorunların tespit edilmesine yardımcı olacak 'ipuçları' (hints) yerleştirir. Sözdizimi hataları içeren bir .ph dosyasına ihtiyaç duyduğunuz durumlarda, anlaşılması güç olan
[ bazı hata durumları ] at (eval mmm) line nnn
yerine biraz daha yardımcı olan
[ bazı hata durumları ] at filename.ph line nnn
ifadesini görürsünüz. Ancak -h seçeneği kullanılarak oluşturulduğunda .ph dosyalarının boyutu neredeyse iki katına çıkar.
-e: Dönüştürme sırasında bir hata ile karşılaşılırsa, dönüştürmeyi hemen sonlandırmak yerine çıktı dosyası silinir ve bir uyarı verilir.-D: .h dosyasındaki kodu .ph dosyasında bir yorum satırı olarak dahil eder. Bu öncelikle h2ph hata ayıklama amacıyla kullanılır.-Q: 'Sessiz' mod; dönüştürülen dosyaların adlarını yazdırmaz.
Ortam
Hiçbir ortam değişkeni kullanılmaz.
Dosyalar
/usr/include/.h /usr/include/sys/.h
vb.
Yazar
Larry Wall
Ayrıca Bakınız
perl(1)
Teşhisler
İlgili dosyalar okunamadığında veya yazılamadığında verilen genel uyarılar.
Hatalar
Sizin için %sizeof dizisini oluşturmaz.
Tüm C yapılarını işleyemez, ancak çevirebildiği tanımlara ulaşabilmeniz için tanımları 'eval' yapıları içinde izole etmeye çalışır.
Yalnızca kaba bir araç olarak tasarlanmıştır. Üretilen dosyalar üzerinde ufak tefek değişiklikler yapmanız gerekebilir.
Bu programı manuel olarak çalıştırmanız gerekir; Perl kurulumunun bir parçası olarak çalıştırılmaz.
Aşağıdaki gibi parça parça oluşturulan karmaşık ifadeleri işleyemez:
enum { FIRST_VALUE, SECOND_VALUE, #ifdef ABC THIRD_VALUE #endif };
C derleyicinizin dahili olarak tanımlanmış tüm sembollerini bulması garanti değildir.
perl v5.34.1 2026-02-21 H2PH(1)