Я много слышал о "системе типов", "строго типизированном языке" и так далее. В настоящее время я работаю над некоторой проблемой взаимодействия .NET COM, которая много решает "маршалинг". И, насколько мне известно, маршалинг — это преобразование между типами .NET и типами COM.
Во многих сценариях, таких как язык программирования, когда мы говорим о типах, нас интересует логическое значение.
Теперь мне интересно: что означает "тип" физически? В некотором смысле мы можем смотреть и трогать.
В настоящее время я понимаю, что «тип» — это не что иное, как представление в памяти вычислительного объекта.
Большое спасибо за ваши ответы.
Добавление-1
Цитата из MSDN:
Для маршалинга простых непреобразуемых структур через границы между управляемыми и неуправляемыми сначала необходимо определить управляемые версии каждой собственной структуры. Эти структуры могут иметь любое юридическое имя; между собственной и управляемой версиями этих двух структур нет никакой связи, кроме их расположения данных. Поэтому очень важно, чтобы управляемая версия содержала поля того же размера и в том же порядке, что и собственная версия. (Не существует механизма, гарантирующего, что управляемая и собственная версии структуры эквивалентны, поэтому несовместимости не станут очевидными до времени выполнения. Ответственность за обеспечение того, чтобы две структуры имели одинаковое расположение данных, лежит на программисте.)
Так что, что касается маршалинга, важна компоновка.