python怎么变成exe文件_如何在python中知道CPython可执行文件是否是调试版本?
以下代码可能是您所追求的
使用python3.4:
>>> import sysconfig
>>> sysconfig.get_config_var('Py_DEBUG')
0
另一方面使用python3.4-dbg:
>>> import sysconfig
>>> sysconfig.get_config_var('Py_DEBUG')
1
但是,还有控制“调试”行为的编译时选项,例如此处提到的NDEBUG:http://bugs.python.org/issue17411.
换句话说:虽然Py_DEBUG可能未设置(0),但由NDEBUG控制的C代码断言仍可能改变python的行为.设置Py_DEBUG始终取消设置NDEBUG,导致应用断言.缺少Py_DEBUG对NDEBUG没有影响 – 它可能定义也可能不定义.如果定义了NDEBUG,则断言将被定义为void宏.
Programmers can eliminate the assertions just by recompiling the
program, without changing the source code: if the macro NDEBUG is
defined before the inclusion of , the assert() macro is
defined simply as:
06002
一个可能但不可移植的解决方案是检查编译器命令行OPT:
>>> '-DNDEBUG' not in (sysconfig.get_config_var('OPT') or '')
以OPT为例
>>> sysconfig.get_config_var('OPT')
'-DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes'
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
