Блоки.NET и перебазирование DLL

Мне нравится использовать аддон ember-prop-types для этого случая использования. Это позволяет просматривать доступные свойства, типы каждого свойства, которое принимает компонент, а также устанавливать значения по умолчанию.

Вот небольшой пример того, что он может сделать:

import { Component } from '@ember/component';
import { PropTypes } from 'ember-prop-types';

export default Component.extend({
  // Defines the properties for the component
  propTypes: {
    // Must be a 'string'
    name: PropTypes.string,
    // Must be a 'number' and it's required
    age: PropTypes.number.isRequired,
    // Must be one of the values in the array
    favoriteColor: PropTypes.oneOf(['red', 'blue', 'green'])
  },

  // Defines the default values for the properties if not passed in
  getDefaultProps () {
    return {
      name: 'New User',
      age: 99
    }
  }
});

11
задан starblue 25 April 2009 в 10:39
поделиться

2 ответа

CLR, Загружающий механизм, использует LoadLibrary негласно, таким образом, это - то, что Вы наблюдаете: 2 блока не могут быть загружены в том же адресе. Теперь то, что часто имеют в виду люди, когда они пытаются повторно основывать dll, должно избежать хита перфекта устранять-взлетов, например, абсолютные адреса и вызовы функции должны быть "перемещены" с загруженным базовым адресом. CLR не имеет этой проблемы (не уверенный в статических данных в приложении, которое является второй частью тех устранять-взлетов, я должен был бы читать на этом), потому что код MSIL загружается по запросу, когда Вы вызываете функцию в управляемом коде. MSIL затем получает jitted и помещенный в "кучу", другую от "кучи" обычного объекта, которой я верю, таким же образом CLR выделяет и размечает новые объекты в Вашем приложении.

3
ответ дан 3 December 2019 в 11:52
поделиться

Что ОС Вы выполняете? Я знаю, что перспектива и вне представленного ASLR, который рандомизирует адресное пространство, в которое это загружает dlls. Это происходит для системы dlls, но не уверенное в .NET - возможно, что-то для изучения.

1
ответ дан 3 December 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: