выделить из с++ тьолько нужное
От: кубик  
Дата: 04.09.18 05:14
Оценка:
Привет,

Есть С++ проект в котором куча ifdef и вообще коментов по делу и нет. Нужно выделить только тот код который будет компилится при определенных дефайнах.
Это делается что б передать С++ код заказчику.
Какая тулза так делает ?
Re: выделить из с++ тьолько нужное
От: Alexander G Украина  
Дата: 04.09.18 05:19
Оценка: 4 (1) +1
Здравствуйте, кубик, Вы писали:

К>Какая тулза так делает ?


Это делается препроцессором.
У компиляторов бывает опция generate preprocessor output.

Или можно сделать сторонним препроцессором, но надёжнее препроцессором от своего компилятора, чтобы учитывались compiler-specific определения.
Русский военный корабль идёт ко дну!
Re: выделить из с++ тьолько нужное
От: Lucky Cat  
Дата: 04.09.18 05:21
Оценка: 4 (1) +1
Здравствуйте, кубик, Вы писали:

К>Привет,


К>Есть С++ проект в котором куча ifdef и вообще коментов по делу и нет. Нужно выделить только тот код который будет компилится при определенных дефайнах.

К>Это делается что б передать С++ код заказчику.
К>Какая тулза так делает ?

gcc -E разворачивает все эти дефайны и макросы, оставляя то, что собственно и ест компайлер.
Re[2]: выделить из с++ тьолько нужное
От: кубик  
Дата: 04.09.18 06:11
Оценка: +1
Алекс,

Спасибо за ответ. К сожалению он разворачивает все включая и инклюды. Каждый файлик становится по нескольку мегабайт.
Re: выделить из с++ тьолько нужное
От: σ  
Дата: 04.09.18 09:50
Оценка: 4 (1)
http://dotat.at/prog/unifdef/
Re[3]: выделить из с++ тьолько нужное
От: alpha21264 СССР  
Дата: 04.09.18 10:14
Оценка:
Здравствуйте, кубик, Вы писали:

К>Спасибо за ответ. К сожалению он разворачивает все включая и инклюды. Каждый файлик становится по нескольку мегабайт.


Ну и что? Отрежь ненужное.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: выделить из с++ тьолько нужное
От: кубик  
Дата: 04.09.18 16:26
Оценка:
A>Ну и что? Отрежь ненужное.

Если отрезать, то надо вставлять #include. Надо знать что что отрезано.
Re[5]: выделить из с++ тьолько нужное
От: alpha21264 СССР  
Дата: 06.09.18 14:34
Оценка:
Здравствуйте, кубик, Вы писали:

A>>Ну и что? Отрежь ненужное.


К>Если отрезать, то надо вставлять #include. Надо знать что что отрезано.


gcc -E оставляет строчки вот такого вида:

# 1 "/home/prawda/work/prawda_qt//grammar/en_ru/inter.h" 1

Можно на них как-то ориентироваться.

Течёт вода Кубань-реки куда велят большевики.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.