我正在使用IAR编译器,并且在代码中有一些Compile开关。
当我在 2 种不同的 #defines 之间切换时,未选择的其他代码是否仍然存在于生成的最终十六进制文件中?
预处理器只是做愚蠢的剪切和粘贴,它在编译器之前运行。它排除的任何代码(实际上是文本(都不会成为编译器看到的源代码的一部分,因此显然它也不会进入最终的目标文件/库/可执行文件。
简而言之,您的问题的答案是否定的。但是,如果您不相信我,请检查最终生成的文件。
我正在使用IAR编译器,并且在代码中有一些Compile开关。
当我在 2 种不同的 #defines 之间切换时,未选择的其他代码是否仍然存在于生成的最终十六进制文件中?
预处理器只是做愚蠢的剪切和粘贴,它在编译器之前运行。它排除的任何代码(实际上是文本(都不会成为编译器看到的源代码的一部分,因此显然它也不会进入最终的目标文件/库/可执行文件。
简而言之,您的问题的答案是否定的。但是,如果您不相信我,请检查最终生成的文件。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium