このC++エラーは非常に失われています。exeとdllの間のC++呼び出しでエラーが発生しました
".lib"をエクスポートする "exe"が1つあり、この ".lib"をインポートする "dll"を読み込みます。私はこのメソッドwhituoutの問題を使用することができます。しかし、私は "EscapeJson"を使用すると、例外が表示されます。もし私がライブラリにコードをコピーし、 "CoreHelper :: EscapeJson"を "EscapeJson"(同じライブラリ)に置き換えれば、すべてOKです...
何が問題なのですか?
また、コードが動作する
My.EXE (Export) -> My.lib (Import) -> MyDll.dll
^ |
`---------------------------------------
、 "EscapeJsonは" 成功した値を返すので...
エスケープJSONソース
std::string CoreHelper::EscapeJson(char * input, int length)
{
std::ostringstream o;
for (int x = 0; x < length; x++)
{
char c = input[x];
switch (c)
{
case '"': o << "\\\""; break;
case '\\': o << "\\\\"; break;
case '\b': o << "\\b"; break;
case '\f': o << "\\f"; break;
case '\n': o << "\\n"; break;
case '\r': o << "\\r"; break;
case '\t': o << "\\t"; break;
default:
if ('\x00' <= c && c <= '\x1f')
{
o << "\\u"
<< std::hex << std::setw(4) << std::setfill('0') << (int)c;
}
else
{
o << c;
}
}
}
return o.str();
}
あなたは私のライブを救います!ありがとう! –