LINUX.ORG.RU

История изменений

Исправление 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 дампятся прямо адреса памяти в процессе компилятора).