h2ph
СОДЕРЖАНИЕ
ИМЯ
h2ph - конвертация файлов заголовков .h C в файлы заголовков .ph Perl
СИНОПСИС
h2ph [-d каталог назначения] [-r | -a] [-l] [-h] [-e] [-D] [-Q] [файлы_заголовков]
ОПИСАНИЕ
h2ph конвертирует указанные файлы заголовков C в соответствующий формат файлов заголовков Perl. Его проще всего запускать в каталоге /usr/include:
cd /usr/include; h2ph * sys/* или
cd /usr/include; h2ph * sys/* arpa/* netinet/* или
cd /usr/include; h2ph -r -l . Выходные файлы размещаются в иерархии, корнем которой является архитектурно-зависимый каталог библиотек Perl. Вы можете указать другую иерархию с помощью переключателя -d.
Если запущен без аргументов, фильтрует стандартный ввод в стандартный вывод.
НАСТРОЙКИ
- -d каталог_назначения
-
Разместите получившиеся файлы .ph в каталоге каталог_назначения вместо стандартного расположения библиотек Perl (
$Config{'installsitearch'}). - -r
-
Рекурсивный режим; если какой-либо из файлов_заголовков является каталогом, то h2ph запускается для всех файлов в этих каталогах (и их подкаталогах и т. д.). -r и -a взаимно исключают друг друга.
- -a
-
Автоматический режим; конвертирует файлы_заголовков, а также любые файлы .h, которые они включают. Этот параметр будет искать файлы .h во всех каталогах, которые обычно использует ваш компилятор C. -a и -r взаимно исключают друг друга.
- -l
-
Символические ссылки будут воспроизведены в каталоге назначения. Если -l не указан, то ссылки пропускаются.
- -h
-
В файлы .ph добавляются «подсказки», которые помогут в поиске проблем с h2ph. В тех случаях, когда вам нужен файл .ph с синтаксическими ошибками, вместо криптической
[ some error condition ] at (eval mmm) line nnnбудет отображаться несколько более полезная
[ some error condition ] at filename.ph line nnnОднако файлы .ph почти удваиваются по размеру, когда создаются с помощью -h.
- -e
-
Если при преобразовании возникнет ошибка, файл вывода будет удален, и вместо немедленного завершения преобразования будет выдано предупреждение.
- -D
-
Включить код из файла .h в качестве комментария в файл .ph. Это в основном используется для отладки h2ph.
- -Q
-
Режим «тихий»; не выводить имена преобразуемых файлов.
ОКРУЖЕНИЕ
Переменные окружения не используются.
ФАЙЛЫ
/usr/include/*.h
/usr/include/sys/*.h и т. д.
АВТОР
Larry Wall
СМОТРИТЕ ТАКЖЕ
perl(1)
ДИАГНОСТИКА
Обычные предупреждения, если не удается прочитать или записать вовлеченные файлы.
НЕДОСТАТКИ
Не создает массив %sizeof для вас.
Он не обрабатывает все конструкции C, но пытается изолировать определения внутри evals, чтобы вы могли получить доступ к определениям, которые он может преобразовать.
Он предназначен только как приблизительный инструмент. Вам, возможно, придется подправить полученные файлы.
Вы должны запускать эту программу вручную; она не запускается как часть установки Perl.
Не обрабатывает сложные выражения, составленные по частям, например:
enum {
FIRST_VALUE,
SECOND_VALUE,
#ifdef ABC
THIRD_VALUE
#endif
}; Не обязательно находит все внутренние символы вашего компилятора C.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/h2ph