Как-то пытался написать внешнюю компоненту используя MinGW, безуспешно. Разработчики 1С знают только про компиляторы MSVC и GCC (linux), а про
MSYS/CYGWIN/MinGW слыхом не слыхали, поэтому у них в хедерах (.h) препроцессор даже не знает про такую комбинацию как "windows"+"g++", ну и начинаются проблемы с SEH, name mangling и прочей лабудой, когда физически невозможно статически прилинковать зависимый .dll файл к своей компоненте и заставить 1С все это кушать не подавившись. Плюнул на все это безобразие, написал на Си отдельную консольную утилиту, распаковываю в папку temp, передаю параметры, запускаю, получаю результат в виде файла. Пока в 1С не вспомнят, что не единым Microsoft сыт человек к внешним компонентам не вернусь. Исходники C/C++ одинаково хорошо компилируются gcc и в windows и linux, а вот исходники написанные под CL, как правило, собрать можно только в винде, а это уже не переносимо.
Маршалинг, если своими словами.
Это когда не знаешь какой тип принимает вторая сторона.
или когда не знаешь что получаешь в ответ от какой-либо "продвинутой" системы.
В этих случаях "переменные" для работы можно обернуть в функции т.н. маршалинга.
А он уже вернет тебе что-то понятное для тебя, или что-то что ты смогешь потом распарсить.
для понимания, wt cf (set5553) , вот ссылки, их не много тут но думаю разберешься: