The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Предкомпилированные файлы-заголовки и GCC 3.4.

04.12.2003 00:11

В GCC-3.4 появится возможность использования предкомпилированных заголовочных файлов (precompiled headers (*.h из #include, *.h.gch - в предкомпилированном виде)), что приведет к увеличению скорости сборки программ. Особенно заметна пользва от "precompiled headers" будет , например, при сборке такие проектов как KDE и QT.

В дополнение, Jim Wilson опубликовал список таргетов которые в gcc 3.4 будут доступны только при указании опции --enable-obsolete, а в дальнейших версиях вообще исключены из GCC.

  1. Главная ссылка к новости (http://www.devchannel.org/arti...)
  2. Using Precompiled Headers
  3. Obsoleting Unmaintained Targets In 3.4
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/3142-kde
Ключевые слова: kde, gcc, speed, file, compile, example
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (4) RSS
  • 1, andreyn (?), 17:29, 04/12/2003 [ответить]  
  • +/
    А что в нём действительно отменят явное преобразование типов?
    void *p;
    MyClass obj1;
    p = (void*)&obj1; //В g++ 3.4 это недопустимо?
     
  • 2, Евгений (?), 03:56, 05/12/2003 [ответить]  
  • +/
    Как я понял, будет запрещено прямое преобразование несовместимых типов указателей, можно будет только через
    промежуточный (void*)

    char *pc;
    int *pi;
    pc=(char *)pi; // нельзя
    pc (char*)(void *)pi; // можно

     
  • 3, andreyn (?), 13:17, 05/12/2003 [ответить]  
  • +/
    Это согласуется с последними стандартами ANSI/ISO на C++ или это решение только разработчиков GCC?
     
  • 4, Аноним (4), 13:58, 05/12/2003 [ответить]  
  • +/
    Там в статье обсуждается что возникают проблемы с precompiled хедерами если использовать разные опции компилятора (-march -f..).

    Но ведь проблема может быть даже в самом приложении - например myheader.h зависит от дефайна DEBUG.

    И у меня в одном файле

    #define DEBUG 1
    #include "myheader.h"

    в другом

    #define DEBUG 0
    #include "myheader.h"

    Как gcc опознать что для одного .h файла нужно сгенерить два precompiled хедера. Получается в .pch файле надо хранить информацию об состоянии препросессора ?

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру