Я добавляю некоторые новые функции на cpp, я хочу написать пропуск компилятора для изменения некоторых исходных кодов cpp в соответствии с различными параметрами. (Я использую некоторую функцию gcc (cilk) поэтому я думаю, что это невозможно сделать с помощью libclang, clang не может распознать cilk). Есть ли какие-либо api в gcc, которые могут делать такие вещи?Как захватить параметры командной строки при вводе gcc-плагина
0
A
ответ
1
Текущий API плагина GCC не позволяет расширять препроцессор. Однако вы можете добавить встроенные, прагматические и функциональные или переменные атрибуты.
Вы можете использовать save_decoded_options
и save_decoded_options_count
от toplev.h
, чтобы получить аргументы программы компилятора. Но плагины ожидают -fplugin-foo-arg-
аргументов программы (для плагина foo
...)
Зачем вам это нужно?
Рассматривали ли вы расширение GCC с помощью MELT (язык для конкретного домена для расширения GCC)?
Смежные вопросы
- 1. Параметры командной строки Grunt
- 2. Параметры командной строки Python
- 3. . Параметры командной строки .net?
- 4. Параметры командной строки
- 5. Параметры командной строки
- 6. Параметры командной строки WinMain
- 7. Параметры командной строки Java
- 8. Параметры командной строки javac
- 9. Параметры командной строки
- 10. В bash, как развернуть! $ При вводе командной строки?
- 11. Разбор Параметры командной строки
- 12. Удобные параметры командной строки
- 13. Параметры/параметры/параметры командной строки Launch/Perl
- 14. JVM параметры командной строки
- 15. Параметры командной строки тестирования
- 16. параметры командной строки linux
- 17. Как захватить аргументы командной строки CMake?
- 18. Handlebars - Параметры командной строки при вызове частичного
- 19. Как использовать параметры командной строки в инструменте командной строки c?
- 20. Как передать параметры командной строки, используя оболочку командной строки python?
- 21. Как аргументы командной строки поддерживают параметры командной строки?
- 22. Параметры командной строки adobe air
- 23. MySQL: Как передать параметры из командной строки?
- 24. Параметры командной строки в perl
- 25. Ошибка при вводе входных данных из командной строки в python
- 26. Параметры командной строки Powershell и '-'
- 27. Преобразование строки при вводе
- 28. командной строки Ошибка при вводе команды в каталог доступа
- 29. Параметры командной строки в Java
- 30. Параметры командной строки в netbeans
спасибо. так как я не могу изменить исходный код cpp, модификация AST может быть хорошей идеей. Я хочу добавить некоторые функции и заменить некоторые вызовы функций. – WhatisThat
Кстати, вы знаете, как преобразовать узел gcc ast tree в исходный код? Спасибо. – WhatisThat
Вы должны определить, что вы подразумеваете под «преобразованием GCC AST» в «исходный код». (Это невозможно, потому что Gimple больше, чем просто C, например, потому что он обрабатывает исключения и OpenMP). –