У меня есть очень короткая программа, написанная на повышении :: XpressiveПредварительно компилировать .h файлов
#include <iostream>
#include <boost/xpressive/xpressive.hpp>
using namespace boost::xpressive;
int main()
{
std::string hello("hello world!");
sregex rex = sregex::compile("(\\w+) (\\w+)!");
smatch what;
if(regex_match(hello, what, rex))
{
std::cout << what[0] << '\n'; // whole match
std::cout << what[1] << '\n'; // first capture
std::cout << what[2] << '\n'; // second capture
}
return 0;
}
Это Xpressive «привет мир». Для компиляции требуется значительно больше времени, чем обычный мир приветствия. Я думаю, это потому, что файл xpressive.hpp настолько огромен. Есть ли способ предварительно скомпилировать или предварительно обработать файл .hpp, чтобы компиляция была намного быстрее?
интересный. Есть ли простой способ прекомпилировать все заголовки заголовков в Ubuntu? – User1
@ пользователь1. Вы могли бы, но это плохая идея. Быстрый поиск «предварительно скомпилированных заголовков и шаблонов» дает http://gamesfromwithin.com/the-care-and-feeding-of-pre-compiled-headers. В комментариях кто-то говорит, что Boost.MPL генерирует HUGE pch-файлы, которые – KitsuneYMG
@ kts Спасибо за ссылку. Это очень интересная статья. Я нашел комментарий, который вы упомянули. У пользователя был VC++. Интересно, произойдет ли замедление в gcc. – User1