Я использую встроенный ассемблер в C ++ / CLI.Ужасная проблема может быть ошибкой, которую я заметил.Я передал вектор из одного вызова функции в другой.Если я прокомментирую весь фрагмент кода _asm {.... некоторый ассемблерный код здесь} внутри вызываемой функции, где используется вектор, предоставленный ему из другой функции, то нет проблем, если весь вектор будет исправен и успешно скопирован в аргумент вызываемой функциив правильной манере.
Но если uncmment _asm {} я имею в виду, если я использую патч _asm {} в вызываемой функции, он повреждает целые векторы объектов, воздействует на целые повреждения объектов, которые содержат векторы и другие строковые данные, и он просто показывает для всех данныхвнутри объекта, как npos = 4294967295.
Что это?Почему это так?CLI создает проблему, или я использую inline asm я неправильно?
Пожалуйста, помогите мне, потому что я застрял здесь.
strParamType = strReturnType;
if(strParamType.find("IDispatch")!=string::npos)
{
IDispatch* pIDispatch;
_asm
{
mov esi,esp
lea eax,[pIDispatch]
push eax
}
}
Здесь Если я вообще ничего не пишу внутри _asm{} даже тогда возникает проблема, которую я описал.
С уважением, Усман