h2ph
СОДЕРЖАНИЕ
ИМЯ
h2ph - преобразование файлов заголовков C (.h) в файлы заголовков Perl (.ph)
СИНТАКСИС
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.
- -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–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.28.3/h2ph