OberonCore https://forum.oberoncore.ru/ |
|
#014 Создание заголовочных модулей в подсистеме Lin https://forum.oberoncore.ru/viewtopic.php?f=134&t=6449 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Понедельник, 14 Октябрь, 2019 17:51 ] |
Заголовок сообщения: | #014 Создание заголовочных модулей в подсистеме Lin |
Часто приходится генерить заголовки в Lin? В Lin лежат "скрипты" для генерации интерфейсных модулей. Интересуют два вопроса. Часто с их помощью перегенирируются модули? Какие причины побудили генератор делать не на ББ? Код: bbcp/Lin/Mod
Каталоги attic gen-Ioctl gen-Libc gen-LibW gen-Net gen-Termios Файлы Dl.odc Dl.txt Iconv.odc Iconv.txt Ioctl.txt Libc.txt LibW.txt Net.txt Rt.txt Termios.txt |
Автор: | Alexander Shiryaev [ Вторник, 15 Октябрь, 2019 20:31 ] |
Заголовок сообщения: | Re: Часто приходится генерить заголовки в Lin? |
Для GNU/Linux - нечасто. Там вообще почти ничего не менятся. Для OpenBSD - часто. Генераторы проще всего было писать на С, т. к. не нужно парсить заголовочные файлы, а они все на C. Часть написана на Python - так было проще сделать. Можно переписать. |
Автор: | Info21 [ Вторник, 15 Октябрь, 2019 21:04 ] |
Заголовок сообщения: | Re: Часто приходится генерить заголовки в Lin? |
Alexander Shiryaev писал(а): Можно переписать. Надо переписать ))
|
Автор: | Евгений Темиргалеев [ Среда, 16 Октябрь, 2019 15:44 ] |
Заголовок сообщения: | Re: Часто приходится генерить заголовки в Lin? |
Alexander Shiryaev писал(а): Генераторы проще всего было писать на С, т. к. не нужно парсить заголовочные файлы, а они все на C. Парсить, на мой взгляд, проще не заголовочные файлы, а освобожденную от макросов и условной компиляции выдачу препроцессора.Код: $ cat mkioctl.cpp #include <sys/ioctl.h> CONST _FIOCLEX = FIOCLEX; _FIONCLEX = FIONCLEX; Код: $ cpp mkioctl.cpp
... # 27 "/usr/include/x86_64-linux-gnu/bits/ioctl-types.h" 3 4 struct winsize { unsigned short int ws_row; unsigned short int ws_col; unsigned short int ws_xpixel; unsigned short int ws_ypixel; }; struct termio { unsigned short int c_iflag; unsigned short int c_oflag; unsigned short int c_cflag; unsigned short int c_lflag; unsigned char c_line; unsigned char c_cc[8]; }; # 30 "/usr/include/x86_64-linux-gnu/sys/ioctl.h" 2 3 4 ... extern int ioctl (int __fd, unsigned long int __request, ...) throw (); } # 2 "mkioctl.cpp" 2 # 3 "mkioctl.cpp" CONST _FIOCLEX = # 4 "mkioctl.cpp" 3 4 0x5451 # 4 "mkioctl.cpp" ; _FIONCLEX = # 5 "mkioctl.cpp" 3 4 0x5450 # 5 "mkioctl.cpp" ; |
Автор: | Alexander Shiryaev [ Среда, 16 Октябрь, 2019 21:26 ] |
Заголовок сообщения: | Re: Часто приходится генерить заголовки в Lin? |
Да, так и надо будет сделать. |
Автор: | Иван Денисов [ Вторник, 11 Февраль, 2020 23:31 ] |
Заголовок сообщения: | Re: Часто приходится генерить заголовки в Lin? |
Генератор теперь создает odc файлы вместо текстовых. Спасибо Александру! Если кому-то нужен пример создания odc из Питона, можете обратиться в исходным кодам этих генераторов. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |