В ваших вычислениях есть небольшая ошибка
Поскольку в каждом блоке 512 бит, я знаю, что самые правильные 9 бит (2 ^ 9 = 512)
blockquote> [ 113] Блоки имеют размер 64 байта. Младшие биты относятся к смещению, которое указывает позицию байта в блоке, и требуется только 6 бит. Вы учли количество бит (512 = 64x8), но адреса - это байтов, адресов, и это неверно.
Вы правы, 10 следующих битов - это индекс, который выбирает блок из 1024 в кеше прямой карты.
И тег состоит из оставшихся битов
Следовательно, смещение = 01 0000
index = 1001001011 = 587
Tag = 0101 1100 1000
Я испытал проблемы как этот (но не с тем же самым сообщением об ошибке). Кажется, как будто WPF не может инстанцировать Вашего Пользовательского элемента управления Winforms.
Проблема состоит в том, чтобы узнать почему. Вот мои предположения, что Вы могли попробовать:
У меня также были эта проблема и все, что я должен был сделать, был, входят в свойства проекта> безопасность и нажимают This, полное доверительное приложение. Я выполнил свой проект снова, и он работал!
Вы уверены, что у вас есть dll в папке system32 или в той же папке с exe. Я получил точно такое же сообщение об ошибке при запуске проекта WPF, созданного с помощью библиотеки DLL CLI, когда эта библиотека находилась в другой папке.
mike
I Я видел эту проблему при попытке использовать boost :: thread. Для поддержки локального хранилища потоков функция boost :: thread выполняет некоторые вызовы Win32 API, несовместимые с приложениями CLI. Проблема возникает, если вы пытаетесь # включить что-то из потоков в код CLI.
Решение состоит в том, чтобы либо полностью отказаться от использования boost :: threads, либо ограничить его использование файлами .cpp в собственном коде.