Это шестая статья из серии по IL2CPP. На этот раз мы посмотрим, как il2cpp.exe генерирует обертки для методов и типов, необходимые для взаимодействия управляемого и нативного кода. В частности, мы обсудим разницу между непреобразуемыми и преобразуемыми типами, разберемся с маршалингом строк и массивов и поговорим о расходах на маршалинг. Читать дальше →
В предыдущей статье из серии по IL2CPP мы рассмотрели вызовы методов в генерируемом коде C++. Теперь мы поговорим об одной из самых важных особенностей кода IL2CPP – обобщенной реализации методов, позволяющей существенно уменьшить размер исполняемого файла IL2CPP. Стоит отметить, что обобщенная реализация также используется в средах выполнения Mono и .NET. В IL2CPP она изначально не поддерживалась и была добавлена только со временем. Читать дальше →
Это четвертая статья из серии по IL2CPP. В ней мы поговорим о том, как il2cpp.exe генерирует код C++ для вызовов методов в управляемом коде. Читать дальше →
В этой статье мы поговорим о взаимодействии среды выполнения IL2CPP со сборщиком мусора и увидим, каким образом корни сборщика мусора в управляемом коде связываются с нативным сборщиком мусора. Читать дальше →