memcpy

Тема в разделе "LANGS.C", создана пользователем GoldFinch, 5 июл 2009.

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    RET
    ты это к чему написал?

    int x; memcpy(buf,&x,sizeof(x));
    -- это непосредственный вызов memcpy?

    только вот, т.к. sizeof(x) константа времени компиляции, компилятор компилит чтото вроде "mov buf,x"
     
  2. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    вообще по мне так логика у компилятора при оптимизации по скорости должна быть такая, если массив меньше N (внутренняя константа) то пишем так

    Код (Text):
    1. mov buf+1,mas+0
    2. mov buf+2,mas+1
    3. mov buf+3,mas+2
    mas+x естественно вычислять при компиляции.

    т.е. разворачивать циклы
     
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    блин индексы при buf с нуля
     
  4. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Вот бенчмарк станд. винд. ф-ций (на всяк случай) с разл. выравниванием.
     
  5. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    ..ять файло тут крепится вообще??