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. В тех случаях, когда вам нужно require файл .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–2023 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.38.0/h2ph