stdafx.h: Когда мне это нужно?

Вы можете использовать svg. Сделайте положение контейнера / обертки относительным, сначала установите svg как статически, а затем разместите абсолютно позиционированное содержимое (сверху: 0; слева: 0; справа: 0; внизу: 0;)

Пример с 16: 9 пропорций:

image.svg: (может быть встроено в src)

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 9" width="16" height="9"/>

CSS:

.container {
  position: relative;
}
.content {
  position: absolute;
  top:0; left:0; right:0; bottom:0;
}

HTML:

<div class="container">
  <img style="width: 100%" src="image.svg" />
  <div class="content"></div>
</div>

Обратите внимание, что встроенный svg не работает, но вы можете urlencode svg и вставить его в атрибут img src следующим образом:

<img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%209%22%20width%3D%2216%22%20height%3D%229%22%2F%3E" style="width: 100%;" />
30
задан hippietrail 1 April 2011 в 14:42
поделиться

5 ответов

Если Вы не хотите использовать предварительно скомпилированные заголовки, то нет никакого смысла к использованию стандарта, включают файл - это замедлит сборку для каждого файла, который включает его, и заставьте их включать дополнительный материал, в котором они не нуждаются. Избавьтесь от него и просто включайте заголовки, в которых они нуждаются.

17
ответ дан 1800 INFORMATION 28 November 2019 в 00:25
поделиться

Даже без предварительно скомпилированных заголовков stdafx.h мог быть удобным, поскольку он группируется, заголовок включает и определения, характерные для всех файлов.

Можно, конечно, принять решение повторить все эти определения в каждом файле. stdafx.h не строго необходим.

2
ответ дан kgiannakakis 28 November 2019 в 00:25
поделиться

stdafx.h является просто другим заголовочным файлом. Если Вы упали, Вам не нужен он, не стесняются не включать его и удалять его из проекта.

Однако это довольно типично, чтобы иметь файл как stdafx.h точно для предварительно скомпилированных заголовков, чтобы работать и не включать весь материал вручную в каждый исходный файл.

2
ответ дан sharptooth 28 November 2019 в 00:25
поделиться

Можно использовать предварительно скомпилированные заголовки (которые являются хорошей вещью), не используя stdafx.h (я ненавижу ее также). Я только получил доступ к VC ++ 6.0, но в том движении к Settings|C/C Проекта ++ |Precompiled Заголовки и избранное "автоматическое использование предварительно скомпилированного заголовка", но уезжают "скомпилированный через" поле пустой.

2
ответ дан 28 November 2019 в 00:25
поделиться

Поскольку другие упомянули: если Вам не нужны предварительно скомпилированные заголовки, Вам действительно не нужен stdafx.h. И использование его только для группировки распространенный включает, довольно плохая практика, на самом деле.

На самом деле, даже когда использование предварительно скомпилировало заголовки, это - хорошая практика для включения заголовков, в которых процесс на самом деле нуждается после stdafx.h (или precompiled.h или независимо от того, что Вы хотите назвать его) - наряду с #ifdef волшебством в Вашем предварительно скомпилированном заголовке для выключения использования PCH.

Почему? Для проверки зависимостей от модуля. Способность отключить Ваш PCH позволяет Вам поймать, включаете ли Вы необходимые модули или нет, и можно затем записать инструмент для проверки взаимозависимостей модуля путем парсинга .cpp и.h файлов (исключая заголовок PCH, конечно).

1
ответ дан snemarch 28 November 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: