gpt4 book ai didi

python - Python 中的编译警告

转载 作者:行者123 更新时间:2023-11-28 21:30:38 33 4
gpt4 key购买 nike

当在 Linux 机器上编译 python 文件时,会看到以下警告但是在Solaris机器上编译相同的文件,没有看到警告

/opt/swe/tools/ext/gnu/python-2.3.5_p1/i686-linux2.4/lib/python2.3/config/libpython2.3.a(posixmodule.o)(.text+0x3e9a): In function `posix_tmpnam':
./Modules/posixmodule.c:6138: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/opt/swe/tools/ext/gnu/python-2.3.5_p1/i686-linux2.4/lib/python2.3/config/libpython2.3.a(posixmodule.o)(.text+0x3de9): In function `posix_tempnam':
./Modules/posixmodule.c:6093: warning: the use of `tempnam' is dangerous, better use `mkstemp'

无法解析上述警告片段

谁能帮忙

最佳答案

您正在使用旧版本的 python。

从那时起,很明显 tmpnam 函数不安全,并且 Linux 附带的库/ header 已更新以向您发出警告。但它应该可以编译,因为向后兼容性非常重要。

Python 2.3 的开发时期尚不清楚 mktemp 是否存在安全问题,并且 mkstemp 可能不可用。

Solaris 可能不会有这个问题,因为 tmpnam 在该平台上并非不安全,或者您的 Solaris 有点旧。

如果你想摆脱警告,你有不同的可能性:

  • 升级到较新版本的 python。推荐,但可能不可能如果您的生产系统也没有升级。
  • 使用尚未修复该问题的旧版本 Linux(绝对不推荐!)
  • 将警告解释为警告,并且知道如果您使用临时文件python 中的逻辑你正在创建潜在的安全问题......
  • 将 gcc 警告级别设置得较低,这样它就不会警告您:)

如果可能的话,我会选择升级,否则就接受它。

关于python - Python 中的编译警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2020317/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com