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'


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部