Russian Qt Forum

Qt => Общие вопросы => Тема начата: qtkoder777 от Октябрь 18, 2013, 08:11



Название: Перенос реализаций методов из h в cpp
Отправлено: qtkoder777 от Октябрь 18, 2013, 08:11
Добрый день.

Мне достался код, где много методов класса реализовано в заголовках. Из-за этого есть большие проблемы со скоростью сборки проекта.
Как автоматизировать процесс переноса реализаций методов в cpp?


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: RedDog от Октябрь 18, 2013, 08:39
Переименовать файл в cpp и в нем убрать слова типа class, public, private.
Потом отдельно создать заголовочник.


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: qtkoder777 от Октябрь 18, 2013, 08:43
Может какая утилита есть?


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: Hellraiser от Октябрь 18, 2013, 08:51
Для студии есть плагин - VisualAssistX. Он коммерческий, но в сети полно лекарства. Вот в нем реализована такая опция, называется "Move Implementation To Source File", находится в разделе рефакторинга.


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: lex_newton от Октябрь 18, 2013, 08:59
QtCreator 2.8.0 умеет это делать: Refactoring->Move Definition to ...cpp (кликать правую кнопку мыши нужно на реализации метода в .h)


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: alex312 от Октябрь 18, 2013, 10:26
Добрый день.

Мне достался код, где много методов класса реализовано в заголовках. Из-за этого есть большие проблемы со скоростью сборки проекта.
Как автоматизировать процесс переноса реализаций методов в cpp?
Хотелось бы глянуть на код, и да как ты определил, что тормоза компиляции именно из-за того что функции в заголовочном файле?


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: qtkoder777 от Октябрь 18, 2013, 10:55
Тормоза возникают когда эти методы меняются, и пересобираестя всё, куда эти хедеры подключены.


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: alex312 от Октябрь 18, 2013, 11:15
Тормоза возникают когда эти методы меняются, и пересобираестя всё, куда эти хедеры подключены.
тут такое, тормоза во время компиляции компенсируют тормоза во время исполнения.
Ну и хоть кусочек исходника хотелось бы увидеть. Классы хоть не шаблонные?


Название: Re: Перенос реализаций методов из h в cpp
Отправлено: qtkoder777 от Октябрь 18, 2013, 11:37
Класс нешаблонный и гуёвый так что тормоза не критичны.
Всем спасибо. Сделал с помощью Qt Creator.