Для ответа на вопрос "помехи означают, что только одна копия VAL создается, в случае, если заголовок включен больше чем одним исходным файлом?"...
НИКАКОЙ . VAL будет всегда определяться отдельно в каждом файле, который включает заголовок.
стандарты для C и C++ действительно вызывают различие в этом случае.
В C, ограниченные по объему файлом переменные являются экстерном по умолчанию. При использовании C VAL статичен, и ANOTHER_VAL является экстерном.
Примечание, что современные компоновщики могут жаловаться на ANOTHER_VAL, если бы заголовок включен в различные файлы (то же глобальное имя, определенное дважды), и определенно жаловался бы, был ли ANOTHER_VAL инициализирован к различному значению в другом файле
В C++, ограниченные по объему файлом переменные статичны по умолчанию, если они - константа и экстерн по умолчанию, если они не. При использовании C++ и VAL и ANOTHER_VAL статичны.
также необходимо принять во внимание то, что обе переменные определяются константа Идеально, компилятор всегда принимал бы решение встроить эти переменные и не включать любое устройство хранения данных для них. Существует большое количество причин, почему устройство хранения данных может быть выделено. Я могу думать...
ui.datepicker.js
_generateMonthYearHeader: function (inst, drawMonth, drawYear, minDate, maxDate, selectedDate, secondary, monthNames, monthNamesShort)
Найдите следующий цикл в методе
for (; year <= endYear; year ++) {
html + = '<значение параметра = "' + год + '"' +
(год == drawYear? 'selected = "selected"': '') +
'>' + год + '';
}
html + = '';
Вставьте следующий код перед этим циклом:
if (year-100 <1900) // Проверить год меньше 1900
год = 1950; // изменить начальную точку вышеуказанного цикла, это поможет вам получить
// раскрывающийся список года, начиная с 1950 и заканчивая текущим годом плюс 10.