Ребят, будет вам инфа по "real native" для 8ки, только подождите до конца января.
Сейчас просто не успеваю привести в хороший вид.
К тому же еще не до конца поковырял линуксовую x64 версию - там похоже тоже есть небольшие различия во внутреннем строении строк.
Грубо говоря, за строки в v8 отвечает класс basic_string<wchar_t.....>.
Он устроен несколько хитро - в объекте лежит длина строки и буфер для коротких строк.
Если строка влезает в буфер, она хранится "inplace", если длиннее, в выделенной в куче памяти, а в буфер записывается указатель на строку в памяти.
(как по мне, так крайне кривая задумка). Так вот, до 8.3.4 под inplace символы отводилось 32 байта (15 символов плюс 0), и размер объекта был 36 байт.
С 8.3.4 видимо решили сэкономить на спичках, и inplace стали хранить только строки до 9 символов + 0, и размер объекта стал 24 байта.
Соответственно, съехали все смещения в разных объектах 1С и прочие прелести. Это кстати и привело к появлению отдельной snegopat83.dll.
Так вот в линуксе x64 похоже появляется еще третий вариант - 12 символов. Плюс все указатели стают по 8 байтов вместо 4х. Это еще добавляет сложностей.
Вобщем, делать real-native ВК будет тем еще развлечением...
Ну да ничего, что-нить придумаю.
Кстати, это еще из удобных фич AngelScript'а - в нем нет встроенного класса строк, и для работы со строками хост должен дать движку скрипта свою реализацию строк.
Дальше просто - под 8.2 запускаем движок с 36-байтными строками, под 8.3 - с 24-байтными. Смещения путь сам считает