Для меня это означает, что улучшений нет. Мне вообще странно видеть сервис, который готов удалять (!) мои данные, особенно такие, как личная почта (!!).
Вариант решения:
— перенести реализацию операторов new/delete непосредственно в проект Managed, проект NewDelete соответственно убрать за ненадобностью, в свойствах проекта Native поставить «Static Lib».
Этот вариант точно работает.
Вообще, переопределять глобальный оператор new когда проект состоит из нескольких частей, разнесённых в dll'и — это как-то храбро очень. Не уверен, что такое решение внутренних граблей не содержит.
Ещё можно (если лёгких путей не ищите) — поменять способ перехвата операторов new/delete (через хуки на msvcrt(d).dll, например).
Что не совсем то, что я думал в начале.
Managed C++ — и вызываем ваш 32-битный код из 64-битного приложения. Мороки меньше, проверять прощё.
Или есть улучшения?
… Человек пытается на ровном месте устроить устрашающую сложность, чтоб враг не проник.
Напишешь просто — понабегут десять улучшателей, и всё усложнят, в соответствии с их пониманием, что к, к примеру, теореме Пифагора надо приписать стратегию — правила умножения (вдруг они изменятся) и правила сложения (вдруг оно некоммутативно) — и вся эта эта псевдонаука накручивается в полном неведении, что кроме эвклидовой метрики бывают и другие ващета.
А поди найди добровольцев упростить.
Теперь я увидел наглядный пример.
Обработка ошибок должна быть простой и понятной, а здесь не каждый средний программист вообще поймёт, как оно работает.
Автор про обычную арифметику с насыщением говорил, когда int8(150) + int8(150) == 255
Возможность бесплатно скачать их ни к какому краху/банкротству не привела.
— перенести реализацию операторов new/delete непосредственно в проект Managed, проект NewDelete соответственно убрать за ненадобностью, в свойствах проекта Native поставить «Static Lib».
Этот вариант точно работает.
Вообще, переопределять глобальный оператор new когда проект состоит из нескольких частей, разнесённых в dll'и — это как-то храбро очень. Не уверен, что такое решение внутренних граблей не содержит.
Ещё можно (если лёгких путей не ищите) — поменять способ перехвата операторов new/delete (через хуки на msvcrt(d).dll, например).
Т.е. запускаем скомпилированную программу на современном процессоре — получаем ещё больший прирост производительности?
MSVC, насколько мне известно, так не делает.
При этом:
— Гениальная идея = 20
— Без реализации = $1