какой формат?
при построении объекта даты Javascript можно просто вычесть их для получения различия в миллисекундах (редактирование: или просто сравните их):
js>t1 = new Date()
Thu Jan 29 2009 14:19:28 GMT-0500 (Eastern Standard Time)
js>t2 = new Date()
Thu Jan 29 2009 14:19:31 GMT-0500 (Eastern Standard Time)
js>t2-t1
2672
js>t3 = new Date('2009 Jan 1')
Thu Jan 01 2009 00:00:00 GMT-0500 (Eastern Standard Time)
js>t1-t3
2470768442
js>t1>t3
true
Что такое предварительно скомпилированные заголовки?
Часто исходные файлы C ++ включают заголовки из внешних библиотек. В Windows вы включаете windows.h
. Эти файлы заголовков могут быть очень большими, и для их обработки требуется некоторое время. Каждый раз, когда вы компилируете файл C ++, компилятор должен читать и обрабатывать тысячи строк из этих файлов заголовков. Но внешние библиотеки не меняются, и вы можете сэкономить много времени, если обработаете эти файлы только один раз и сохраните результат.
Предварительно скомпилированный заголовок - это просто набор файлов заголовков, которые были преобразованы в промежуточную форму, которая позже может использоваться компилятором снова и снова.
Предварительно скомпилированные заголовки в Visual C ++
В Visual C ++ обычно #include
все ваши неизменяемые файлы заголовков в stdafx.h
. Затем вы инструктируете компилятор создать предварительно скомпилированный заголовок stdafx.pch
при компиляции stdafx.cpp
, который ничего не делает, кроме включения stdafx.h
. Если вы хотите использовать предварительно скомпилированный заголовок в другом файле .cpp
, вам необходимо включить stdafx.h
в качестве первого включаемого файла и указать компилятору использовать stdafx.pch
для вашего предварительно скомпилированного заголовка.
Если вы получите сообщение об отсутствии включения stdafx.h
, вам просто нужно указать компилятору не использовать предварительно скомпилированный заголовок для этого конкретного исходного файла. (Или вы можете включить stdafx.h
.)
Предварительно скомпилированные настройки заголовка для отдельных исходных файлов
Visual C ++ позволяет вам управлять настройками компилятора для всего проекта и для отдельных файлов. Чтобы получить доступ к отдельным свойствам, выберите исходный файл в проводнике решений, щелкните его правой кнопкой мыши и выберите Свойства в контекстном меню. Параметры для предварительно скомпилированных заголовков находятся в Свойства конфигурации => C / C ++ => Предварительно скомпилированные заголовки . Если вы изменяете эти настройки, вам часто нужно делать это для всех конфигураций (например, Debug и Release ).
Когда вы используете предварительно скомпилированные заголовки, у вас будет настройка для весь проект, который указывает компилятору использовать stdafx.pch
для предварительно скомпилированного заголовка. stdafx.cpp
будет иметь индивидуальные настройки, которые инструктируют компилятор генерировать stdafx.pch
, и если у вас есть исходные файлы, которые не
Когда вы компилируете код, компилятор должен просмотреть все заголовки #included, чтобы знать, как скомпилировать код в вашем .cpp файле.
В больших проектах (или в проектах, использующих библиотеки как MFC), эти заголовки могут стать огромными, и поэтому на их компиляцию уйдет много времени.
Поскольку большинство этих заголовков меняются не так часто (если вообще когда-либо), вы можете заставить компилятор «предварительно компилировать» их - он обрабатывает их и сохраняет свое состояние в предварительно скомпилированном заголовке. В следующий раз, когда он компилируется, ему не нужно будет снова читать и компилировать все эти заголовки, поэтому он работает намного быстрее.
Одно из требований Visual Studio состоит в том, что если вы используете предварительно скомпилированный заголовок, он должен быть включен в каждый файл в проекте.
Если проект небольшой или вы не часто его собираете, то вы можете просто отключить «предварительно скомпилированный заголовок» вариант (в настройках проекта. Это относится ко всему проекту в целом ). Единственный эффект, который вы получите, - это то, что он может компилироваться медленнее. Или оставьте этот параметр включенным и просто добавьте #include "stdafx.h" в качестве первого включения в каждый файл.