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, но пытается изолировать определения внутри eval, чтобы вы могли получить определения, которые он может преобразовать.
Предназначен только как приблизительный инструмент. Возможно, потребуется внести правки в созданные файлы.
Эта программа должна запускаться вручную; она не запускается как часть установки Perl.
Не обрабатывает сложные выражения, составленные по частям, например:
enum {
FIRST_VALUE,
SECOND_VALUE,
#ifdef ABC
THIRD_VALUE
#endif
}; Не обязательно находит все символы, определённые внутренне вашим компилятором C.
© 1993–2020 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.30.3/h2ph