We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello Forum, I wanna use nesting comments with µvision/C166. How to enable them? It is really annoying to work without them. Thanks - Peter N.B.: Nesting comments means something like this: /* bla bla /* This is bla */ blub blub */ All of this is a comment. Without nesting comments the comment would end just before "blub blub" and the second "*/" would end up with an error.
Have you been worked with this kind of comments ? What tool could you use it without problems ?
I used it with SAS/C and some Win-based Compiler we used at our university. I know, it isn't Ansi compliant, but there are som compiler (preprocessor) options to enable this style of comments. bye
I couldn't find a specific directive Peter, you can cheat and change even the character that'll be used as a comment for example.
/* traditional comment */ >>>> cheat comment <<<<
Many compilers support such nesting of comments, and usually have an option to enable or disable it. Probably, the facility is more common in "bigger" compilers; eg MSVC, BCB. C51 doesn't support it, either. :-( Perhaps you could try using the Borland or MS preprocessor, and compile the result with C166. A common reason for using it is when commening-out a block of code; eg,
/* disabled code x = 1; /* Blah */ y = 2; /* Waffle */ z = f( x, y ); /* Tripe */ */
#if 0 x = 1; /* Blah */ y = 2; /* Waffle */ z = f( x, y ); /* Tripe */ #endif
Thanks for the nesting comments example.
You can get very confused if you have a syntax-highlighting editor which handles nested comments in a slightly different way to your preprocessor! The safest (and ANSI-compliant) way is to avoid them!
Having said that, I have just noticed that there is a discrepancy between the way C51 and uVision handle adjacent comments. C51 regards the following as 2 separate comments, but uVision only colours the bold bit as a comment:
/* Comment 1 *//* Comment 2 Comment 2 cont'd */