Re: Оптимизация call-ов
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.02.04 04:46
Оценка:
А> Ни один компилятор не смог "догадаться", что после вызова strchr адрес строки s все еще находится в стеке, и не нужно заталкивать его еще раз

Такую оптимизацию делать нельзя, потому что значение в стеке может быть изменено самой функцией.

void func(char * p)
{
  p = strchr(p, 'b'); //меняем переданный параметр
  ...
}
void test()
{
  char *q = "abcd";
  func(q);
  func(q);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.