Re: [Investigation] Include Guards
От: Mephisto666 Великобритания  
Дата: 13.10.09 07:36
Оценка:
Здравствуйте, remark, Вы писали:

R>Недавно попытался найти объективную информацию по поводу того, какого типа "include guard'ы" (в собирательном смысле) сейчас целесообразно


Есть небольшая проблема в том что pragma once не везде работает.
В моей версии Codewarrior for Wii если написать
#include "mycoolheader.h"
#include "./mycoolheader.h"

то он включится 2 раза.
с ifdef'ами все ОК.
Понятно что баг препроцессора, но иногда такие моменты встречаются в случае компиляции специфичными средами.
Re: [Investigation] Include Guards
От: skeptik_  
Дата: 14.10.09 12:26
Оценка:
Добавлю, что добавление комментариев перед внутренним гардом в gcc не меняет скорости компиляции. Что-то мне сдаётся, что в gcc вообще оптимизации инклюдов нет... Кто знает точно?
Re[2]: [Investigation] Include Guards
От: jazzer Россия Skype: enerjazzer
Дата: 15.10.09 02:55
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Добавлю, что добавление комментариев перед внутренним гардом в gcc не меняет скорости компиляции. Что-то мне сдаётся, что в gcc вообще оптимизации инклюдов нет... Кто знает точно?


всё в нем есть (читайте доки, они рулез):

CPP optimizes even further. It remembers when a header file has a wrapper `#ifndef'. If a subsequent `#include' specifies that header, and the macro in the `#ifndef' is still defined, it does not bother to rescan the file at all.

You can put comments outside the wrapper. They will not interfere with this optimization.

http://gcc.gnu.org/onlinedocs/gcc-4.4.1/cpp/Once_002dOnly-Headers.html#Once_002dOnly-Headers
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: offtop
От: byleas  
Дата: 27.10.09 14:19
Оценка:
Здравствуйте, remark, Вы писали:

R>Для замера времени использовалась внешняя команда time.

А есть под винду? В своё время искал, не нашёл.
Re[2]: offtop
От: remark Россия http://www.1024cores.net/
Дата: 28.10.09 10:20
Оценка:
Здравствуйте, byleas, Вы писали:

R>>Для замера времени использовалась внешняя команда time.


B>А есть под винду? В своё время искал, не нашёл.


Я из Cygwin использовал.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.