Как я могу проверить/развернуть все макросы функций в файле C/C++, не запуская его через препроцессор? Например, есть программа или метод, который изменит это:Развернуть макрос функций C/C++ без препроцессора
#include <iostream>
#define AAA(a) cout << "function " << a << endl
using namespace std;
int main(){
AAA(12);
}
в это?
#include <iostream>
using namespace std;
int main(){
cout << "function " << 12 << endl;
}
Я не хочу, чтобы запустить через препроцессор, потому что все включает в файлах сделать «ССАГПЗ -E <>» выход действительно некрасиво, я просто хочу пару простых расширений макросов без всех накладных расходов.
Возможно, вы могли бы написать код, который использует clang как библиотеку, и использовать его препроцессор. Если 'grep -v^\ # include myfile | gcc -E' вам не подходит. –
Resharper для C++ позволяет это сделать. – chris
Спасибо за предложение Маты, я посмотрю на Клана. Тем не менее, он будет итерировать более 33k + строк кода, поэтому я думаю, что grep окажется немного грязным. Я сейчас на mac, но я буду прыгать на виртуальную машину и дать Resharper выстрел тоже. – Involution