В VS2003 простые функции по работе с памятью (memcpy, memset и др.) всегда инлайнились в Асм-код, а в VS2010 — нет, и они вызываются из MSVCR100.dll.
Вопрос — можно ли VS2010 заставить их инлайнить?
P.S. Перепробовал все настройки компилятора — глухо, он тупо вызывает memcpy из DLL, даже если нужно скопировать несколько байт...
Здравствуйте, PolA, Вы писали:
PA>В VS2003 простые функции по работе с памятью (memcpy, memset и др.) всегда инлайнились в Асм-код, а в VS2010 — нет, и они вызываются из MSVCR100.dll. PA>Вопрос — можно ли VS2010 заставить их инлайнить? PA>P.S. Перепробовал все настройки компилятора — глухо, он тупо вызывает memcpy из DLL, даже если нужно скопировать несколько байт...
В 2003 по умолчанию рантайм статический.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, PolA, Вы писали:
PA>В VS2003 простые функции по работе с памятью (memcpy, memset и др.) всегда инлайнились в Асм-код, а в VS2010 — нет, и они вызываются из MSVCR100.dll. PA>Вопрос — можно ли VS2010 заставить их инлайнить?
Очевидно, что это обнуление буфера, но(!) при любых настройках компилятора он вызывает _memset из MVCRT100.DLL,
даже если буфер длиной 16 байт. Вопрос — как заставить компилятор не юзать memcpy, memset и пр.?
В VS2003 я даже об этом не задумывался, а тут уже который день бьюсь — пусто.