← man/dev_and_programming
h2ph — man h2ph — 80×24
ugur@toprak:~/man/dev_and_programming$man h2ph
Bölüm 1 Geliştirme & Programlama

h2ph

.h C başlık dosyalarını .ph Perl başlık dosyalarına dönüştürür

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)