【发布时间】:2020-08-31 04:14:19
【问题描述】:
我使用 Ubuntu 18.04 和 gcc 7.5.0。我有一个用-fshort-wchar 编译的库。我注意到在库中使用std::wstring 可能会导致分段错误。我找到了一个类似的topic。有一个解释:
如果您想使用 wchar_t 的正确(32 位)定义与标准库或第三方库代码的任何部分进行交互,则 -fshort-wchar 不可用。
我知道当使用-fshort-wchar 编译库时我不能使用std::wstring,但是其他标准库内容呢?为什么我不能与标准库的任何部分交互,例如 std::vector ?
【问题讨论】:
-
“为什么我不能与...的任何部分进行交互”是什么意思?你试过了吗?只要没有传递
wchar_ts 就可以了 -
对,我误解了这个答案。