История изменений
Исправление KivApple, (текущая версия) :
PCH один на все заголовочные файлы используемые в проекте/библиотеке. Слишком большая гранулярность. А, как известно, в C++ из-за макросов важен порядок инклюдов и куда их инклюдят. А модули компилятся по одному и можно подключать в каждую единицу трансляции только те, что надо.
Нестандартизировано. В каждом компиляторе PCH работает по-своему.
Как минимум в GCC PCH реализованы через жопу, что компилятор падает при включенной рандомизации кучи (потому что в PCH дампятся прямо адреса памяти в процессе компилятора) на определённых конфигурациях.
Исправление KivApple, :
PCH один на все заголовочные файлы используемые в проекте/библиотеке. Слишком большая гранулярность. А, как известно, в C++ из-за макросов важен порядок инклюдов и куда их инклюдят. А модули компилятся по одному и можно подключать в каждую единицу трансляции только те, что надо.
Нестандартизировано. В каждом компиляторе PCH работает по-своему.
Как минимум в GCC PCH реализованы через жопу, что компилятор падает при включенной рандомизации кучи (потому что в PCH дампятся прямо адреса памяти в процессе компилятора).
Исправление KivApple, :
PCH один на все заголовочные файлы используемые в проекте/библиотеке. Слишком большая гранулярность. А, как известно, в C++ из-за макросов важен порядок инклюдов и куда их инклюдят. А модули компилятся по одному и можно подключать в каждую единицу трансляции только те, что надо.
Нестандартизировано. В каждом компиляторе работает по-своему.
Как минимум в GCC PCH реализованы через жопу, что компилятор падает при включенной рандомизации кучи (потому что в PCH дампятся прямо адреса памяти в процессе компилятора).
Исходная версия KivApple, :
PCH один на все заголовочные файлы используемые в проекте/библиотеке. Слишком большая гранулярность. А, как известно, в C++ из-за макросов важен порядок инклюдов и куда их инклюдят.
Нестандартизировано. В каждом компиляторе работает по-своему.
Как минимум в GCC PCH реализованы через жопу, что компилятор падает при включенной рандомизации кучи (потому что в PCH дампятся прямо адреса памяти в процессе компилятора).