c - 语言环境在 Linux 中是如何工作的?
问题描述
我试图了解语言环境在 Linux 中的工作原理。这就是我认为它的工作原理:
每个进程都有一个环境变量表,您可以启动一个进程并使用一些语言环境变量为该进程设置一些环境变量(例如:)LC_ALL=en_US.UTF-8
。
但是如果这个新启动的进程想要查看它的语言环境变量是什么,它不会查看环境变量表,而是有一个单独的语言环境变量表供进程查看,如下所示:
因此,如果进程想要使用在其环境变量表中设置的语言环境变量,它应该首先将它们复制到其语言环境变量表中。例如,要将环境变量表中的LC_ALL
变量复制到语言环境变量表中,该过程执行以下操作:
setlocale (LC_ALL, "");
我的理解正确吗?如果我是正确的,所有进程都有一个语言环境变量表,还是这个表只存在于用 C 编写的程序中?
解决方案
推荐阅读
- excel - 如何正确使用具有已定义命名范围的 COUNTIFS?
- javascript - 导入外部javascript文件并在vue app中全局使用函数
- javascript - 如何从 html 设置 javascript 的值?
- distributed-system - 关于 TLA+ 中的常量运算符的问题
- scala - spark scala中当前行中的前一行值求和
- r - 字符向量被强制
- google-chrome - 即使没有断点,Chrome 调试器也会暂停?
- javascript - 操作数组或 json 响应并将其另存为 javascript 中的另一个数组
- c# - 如何使用 MVVM 在 UI 中绑定(相对或绝对)Image、MouseEnter 和 MouseLeave 事件?
- c# - 无法处理该消息,因为该操作在 WCF 中无效或无法识别