Я уверен Вы, mustve встретился этот статья от W3. Существует много для приобретения знаний из той статьи. В коротком XHTML выносит правила xml помимо наличия набора HTML тегов. Наиболее важные различия:
* XHTML elements must be properly nested
* XHTML elements must always be closed
* XHTML elements must be in lowercase
* XHTML documents must have one root element
Компилятор может делать все, что захочет, до тех пор, пока семантика языка зарезервирована . Другими словами,
Нет никаких гарантий.
Различные флаги оптимизации, вероятно, приведут к разным методам сохранения переменных.
Компилятор может даже сделать одну или несколько переменных не использовать стек вообще и хранить их в регистрах на все время выполнения функции.
Насколько я понимаю, вы даже не можете получить никакой гарантии, что эти переменные размещены в стеке, они могут храниться в регистрах.
На что вы действительно можете повлиять:
Совет компилятору поместить переменную в регистр, используя register ключевое слово.
Помогите компилятору локализовать область видимости переменной, переместив объявление как можно позже:
int f(void ) { /* var1 and var2 probably use the same place for storage. */ { int var1; /* ... do something */ } { int var2; /* ... do something */ } }
{ int i; /* Yes, you must declare it at the begin of block. /* Do something... */ i = START_VALUE; /* But you need it only here and below... */ }
Если переменные будут помещены в стек, пространство стека выделяется в начале функции перед первым оператором в функции. Указатель стека будет перемещен вверх (или вниз) на общее количество байтов для хранения всех локальных переменных.
, если "check_something ()" легко оценивается как 0, весь этот блок будет оптимизирован с использованием достаточно высокого уровня оптимизации. Да, это зависит от компилятора. Как правило, если вы проверяете возвращаемое значение вызова функции, оно не будет оптимизировано. Лучший способ приблизиться к этому - это скомпилировать его и посмотреть на дизассемблирование файла, чтобы убедиться, что, по вашему мнению, происходит на самом деле.