Eclipse CDT 和 Debug/Release 模式
Eclipse CDT and Debug/Release Modes
我刚得到一个简单的 "Hello, World!" C 程序,要在 Eclipse CDT plugin 中构建和编译。当您创建新的 C 项目或为现有 C 项目设置 运行 配置时,Eclipse 使您能够指定调试模式或发布模式。
我想知道这两种模式有什么区别。显然,Debug Mode 是一种开发模式,可能不会优化东西并且需要更长的时间 build/run。但是作为 C 语言的新手,我很难真正理解 configurations/param 是 Debug 还是 Release。令人震惊的是,CDT 文档没有提及任何调试模式与发布模式!
谁能给我一个具体用例,它可能是调试模式配置,但不包含在发布模式中?反之亦然,某些内容会包含在发布模式中,但在调试模式中会被排除?
通常,附加标志 -g
会在调试版本中传递给 gcc
。它告诉 gcc 将调试信息包含到程序中。无法调试没有此标志构建的程序。
另一个调试标志是 -O0
,它禁用优化。当您单步执行经过优化的程序时,它通常会跳转到意想不到的代码行,这使得调试变得更加困难。
我刚得到一个简单的 "Hello, World!" C 程序,要在 Eclipse CDT plugin 中构建和编译。当您创建新的 C 项目或为现有 C 项目设置 运行 配置时,Eclipse 使您能够指定调试模式或发布模式。
我想知道这两种模式有什么区别。显然,Debug Mode 是一种开发模式,可能不会优化东西并且需要更长的时间 build/run。但是作为 C 语言的新手,我很难真正理解 configurations/param 是 Debug 还是 Release。令人震惊的是,CDT 文档没有提及任何调试模式与发布模式!
谁能给我一个具体用例,它可能是调试模式配置,但不包含在发布模式中?反之亦然,某些内容会包含在发布模式中,但在调试模式中会被排除?
通常,附加标志 -g
会在调试版本中传递给 gcc
。它告诉 gcc 将调试信息包含到程序中。无法调试没有此标志构建的程序。
另一个调试标志是 -O0
,它禁用优化。当您单步执行经过优化的程序时,它通常会跳转到意想不到的代码行,这使得调试变得更加困难。