Есть ли способ заставить один и тот же код создавать один и тот же двоичный код в Visual C++? Выключить временную метку в PE или заставить временную метку в PE быть определенной фиксированной величиной, другими словами?Двоичная воспроизводимость в Visual C++
ответ
Предположим, вы можете написать утилиту, чтобы открыть PE, установить контрольную сумму в 0, установить временную метку в соответствии с тем, что вам нравится, перекомпилировать crc, а затем записать ее обратно. Было бы неплохо, если бы был официальный способ обеспечить идеальную двоичную воспроизводимость.
Для получения дополнительной информации: http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
Это не только отметка о времени - есть встроенный GUID используется для сопоставления PDB - как Джон Роббинс explains.
Даже кроме того, нет никакого способа, чтобы заставить компилятор генерировать стабильные результаты, как Джим Griesmer explains -
компиляторов гораздо больше заинтересованы в создании правильно функционирующая кода и генерации его быстрее, чем обеспечение того, чтобы все, что генерируется, выставляется одинаково на вашем жестком диске. Из-за многочисленных и разнообразных методов и реализаций для оптимизации кода всегда возможно, что одна сборка закончилась с меньшим количеством времени, чтобы сделать что-то дополнительное или иное, чем другая сборка. Таким образом, конечным результатом может быть другой набор бит для той же функции.
Таким образом, функции и порядок раздела являются не гарантированно будет последовательно заказать в результате PE. Например, по ссылке.
- 1. Воспроизводимость в научных вычислениях
- 2. Двоичная манипуляция в C
- 3. C# и Mantis API, получить воспроизводимость
- 4. C++ - простая двоичная двоичная программа ASCII
- 5. C++ исключения двоичная совместимость
- 6. двоичная совместимость с C
- 7. C# ошибка двоичная сериализация
- 8. Двоичная генерация патчей в C#
- 9. двоичная реализация строки в C++
- 10. C# - двоичная сериализация InvalidCastException
- 11. Условная C# двоичная сериализация
- 12. Двоичная + перегрузка оператора C++
- 13. Двоичная сериализация в чистом C/C++
- 14. Python numpy - Воспроизводимость случайных чисел
- 15. Ошибка интерфейса UIScrollView в UITabBarController. Воспроизводимость других?
- 16. C двоичная: ошибка синтаксиса:.... '(»Неожиданный
- 17. Двоичная строка в байт [] в C++?
- 18. C++ 11 кросс-компилятор/стандартная библиотека воспроизводимость случайного распределения
- 19. Двоичная логика в прологе
- 20. двоичная сериализация в список
- 21. Воспроизводимость случайных чисел (Python 2/случайный)
- 22. Parallel MonteCarlo: воспроизводимость или реальная случайность?
- 23. Арифметика с плавающей точкой и ее воспроизводимость
- 24. Как изменить переменную OutDir в Visual C++?
- 25. Воспроизводимость Mersenne Twister для всех компиляторов
- 26. Двоичная сериализация/де-сериализация в C++ и C#
- 27. Двоичная куча против двоичного дерева C++
- 28. std :: sort C++ Что такое двоичная функция
- 29. C++ Integer, двоичная и десятичная классы
- 30. C++ Внешняя двоичная система блокирует основную программу