gpt4 book ai didi

C:从生产代码中删除断言

转载 作者:行者123 更新时间:2023-12-01 17:42:11 25 4
gpt4 key购买 nike

在我目前正在从事的一个项目中,用 C89 编写,我使用了 assert()当某些预定义的假设不成立时,语句作为代码在我的开发机器上失败的一种方式。但是,该代码还包含一些错误处理代码,以便程序不会在生产环境中因断言失败而崩溃。

该项目使用 GNU Autotools 来编译和分发源代码。

现在,我的问题是如何确保运行 make dist将从我的代码中删除所有断言,然后生成分发 tarball?

最佳答案

来自 assert.h在维基百科上:

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 <assert.h>, the assert() macro is defined simply as:

#define assert(ignore)((void) 0)

关于C:从生产代码中删除断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696503/

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