Я работаю над проектом базы данных, который компилирует запросы (выраженные на некоторых языках более высокого уровня) в код C++. Этот код компилируется и выполняется базой данных. Эта часть работает отлично.Уменьшить время компиляции clang с предварительно скомпилированными заголовками
В настоящее время я пытаюсь сократить время компиляции кода запроса C++. Мне было интересно, могу ли я использовать предварительно скомпилированные заголовки, чтобы получить производительность здесь.
Запрос переводится в файл Query.cpp, который включает в себя библиотеку/src/Database.hpp. Файл Database.hpp включает в себя дополнительные файлы, такие как StandardTypes.hpp и т. Д. Могу ли я прекомпилировать все эти файлы заголовков, чтобы ускорить компиляцию Query.cpp? Если да, как я могу это сделать? До сих пор я не мог найти хорошего примера для предварительно скомпилированных заголовков, только некоторые действительно основные вещи.
Я использую следующую команду для компиляции Query.cpp:
clang++ -fPIC -std=c++11 Query.cpp -I./library/src/ -shared -o libquery.so;
Хорошая идея, я попробую. Есть ли шанс увидеть, использовал ли clang предварительно скомпилированный заголовок или нет? Что такое флаги: -shared -fPIC -std = C++ 11? – moo
Не уверен, но вы можете добавить флаг ** - v **, который будет показывать подробный вывод. – codekiddy
Но на самом деле также было бы достаточно прекомпилировать заголовок Database.hpp или? Это единственный заголовок, который напрямую включен в Query.cpp – moo