Geoffrey Keating из Apple Computer, Inc., при поддержке Red Hat, Inc., сделал возможным использовать precompiled headers в GCC.
Скорость компиляции программ, при использовании PCH, может увеличиться в разы.
Restore the state of the compiler from the directory name before processing the other arguments. The net effect is similar to -include, but it happens much more quickly. (APPLE ONLY)
So for instance if the file myprefix.c #includes various headers that are useful to all files in your program, you can do
А как будет решаться проблема соответствия какого-то *.h его *.h.pch? В статье по ссылке говорится, что этим будет заниматься make. Однако make лишь сравнивает даты файлов. Это может привести к не очень хорошим последствиям. Например к сокрытию кода внутри *.h.pch с целью скомпрометировать чью-то систему. Видимо необходим механизм, отличающий свои от полученых извне *.h.pch файлы.
Господа, когда я озабачивался проблемой (месяца три назад в сизифовом списке) эти патчи были уже доступны. Но только для эппловой ветки gcc, и целесообразность этих патчей для мэйнстрима вызывала сомнение у уважаемых персон.
Внимание, вопрос: кто-нибудь этим уже пользовался? И, если пользовался, то где, на десятке/G4 и/или на каком-нибудь из x86 юниксов?
В добавление к Antichrist - неужели вы думаете, что их будут поставлять в дистрибутиве? Это же бред. При компиляции они должны создаваться, при make clean - удаляться.
> При компиляции они должны создаваться, при make clean - удаляться.
По идее должны, но только если Makefile был написан соответсвующим
образом. Большинство современных проектов никак не расчитаны на это.
ИМХО, большинство современных проектов написано с использованием autoconf/automake/auto... Насколько я понимаю, не так уж сложно дописать поддержку pch.
Гораздо интереснее, учитывают ли они, что ключики компилятора могут быть разные? Например, различные -D, различный порядок #include в разных .c тоже может приводить к разному содержимому .pch от одного и того же .h. Очевидно, что гццешники должны быть в курсе этих проблем. Честно говоря, влом оригинал читать в поисках как они решали(а решали ли?) эту проблему.
2anonymous (*) (2003-01-20 21:12:20.914) Хыхы... А если у меня в проекте был файл pch.c? man find; find -type f -name '*.pch'|xargs rm -f -- уже лучше. А, чёрт, как же я забыл, тут же новая сеть для помощи неопытным юниксоидам открылась, сходите... :)
спасибо, мне не надо :) к тому же, man xargs, сравнить количество вызовов /bin/rm в моём и твоём случае. ещё помогает -print0 | xargs -0, но это уже для продвинутых анонимусов :)
угу. -print нужен только не для гнутого find, но я это к тому, что xargs-то может и не быть - казусы и такие случаются :) да и не во всех ситуациях xargs правильно отрабатывает.