阅读这篇评论的最佳评论是什么 ,赞成了201次:
很久以前,我偶然通过添加注释修复了Java3D中的段错误。 它是100%可重复的; 如果我删除了评论,它就会崩溃。 只要评论在那里,它运作良好。 我认为这是一个奇怪的计时问题,但我从来没有弄清楚究竟发生了什么。
这可能吗?
如果他正在修复Java3D中的段错误,我猜他正在用Java或C / C ++编写代码。 我认为在任何一种语言中,评论都会在编译之前被删除……
我认为在任何一种语言中,评论都会在编译之前被删除……
它可能看起来如此,但不幸的是,这个无害的 Hello World
程序甚至无法编译。
为什么? 因为评论 。 罪魁祸首是源头的道路。 具体来说, users
。 反斜杠后跟字母
u
,表示Unicode转义的开始。 尾随的sers
使它成为一个格式错误的Unicode转义。 (如果u
后跟4个hex数字,那就没问题了 – 是的,即使在评论中也需要它。)
因此, 由于评论 ,代码甚至不会编译。
public class HelloWorld { /** * Source: C:usersdevnullHelloWorld.java */ public static void main(String[] args) { System.out.println("Hello World!"); } }
正如您所述,在Java中,注释不包含在已编译的字节码中。 对于eaxmple,请参加以下课程:
public class test { public void methodWithoutComment() { System.out.println("This method does not have a comment"); } public void methodWithComment() { // Method with comment System.out.println("This method has a comment"); } }
如果我们使用javap -c test
对javap
内省代码进行内省,我们可以看到两种方法的字节码是相同的 – 除了输出到控制台的字符串:
public class test { public test(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return public void methodWithoutComment(); Code: 0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3 // String This method does not have a comment 5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return public void methodWithComment(); Code: 0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #5 // String This method has a comment 5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return }
以下是对此的两种解释。
一,记者错了。 他们没有进行他们认为正在制作或正在编译或执行不正确的编辑,或者错误是不稳定的,并且与他们的编辑偶然相符, 等等 。
二,编辑删除了看起来像评论的东西,但它实际上与其他语法交互。 例如,考虑:
/* Start comment. … /* Not a new comment. */ … Some code here … /* Sometimes a comment. */
当存在“非新注释”行时,“此处的某些代码”是不是注释的源代码。 当“不是新评论”行不存在时,“此处的某些代码”是评论的一部分。
不要这么认为。 为了运行Java程序,应将其编译为字节码,以便在编译期间删除注释,并且不会影响程序的执行。
以上就是c/c++开发分享在运行期间,评论可以有什么不同吗?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/541640.html