Windows 10 和 Linux Muparser 名称允许的字符集不同
Windows 10 and Linux Muparser name allowable character sets are different?
在使用muparser-2.2.6.1的C++代码中,我有定义为类层次结构的解析器名称:
ClassA.classB.classC = value
此名称在 Linux 上解析正确,但被拒绝,因为它包含"."在 Windows 10 上,因为它在 Muparser 中定义的"a_szCharset"之外:
parser.DefineNameChars("0123456789_"
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ");
为什么相同的允许字符集在 Linux 中有效,而在 Windows 上无效?!如何扩展名称字符集并找到解决方案?
我部分回答了我的问题:
我只是在允许的字符集中添加了".",它就可以工作:
void Parser::InitCharSets(( { DefineNameChars( T(">0123456789.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"( (;
}
但我仍然不知道为什么它可以开箱即用地在 Linux 上运行...?!
非常感谢您的阅读。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- Windows 10 和 Linux Muparser 名称允许的字符集不同