What does the two underline in "__nodebug" mean? Found in I2C example.

from sample I2C code:

__nodebug
int i2c_start_tx()
{
// Try to send start pulse. If clock stretching happening, return 1 else 0
if (i2c_wSCL_H()) return -1; // Check if clock stretching too long
i2c_SDA_H();
cWAIT_5_us;
i2c_SDA_L();
cWAIT_5_us;
i2c_SCL_L();
return 0;
}

Is nodebug ended automaticly, or shall I add __debug here?

I’m not sure what sample this is, but usually the underscore means this is internal code and shouldn’t be modified by the customer.

What sample is this and which version of Dynamic C is this from?

Hello
I found the code in C:\DCRABBIT_10.72\Lib\Rabbit4000\I2C\I2C_SW.LIB
I also found that nodebug is a macro in C:\DCRABBIT_10.72\Lib\Rabbit4000\BIOSLIB\StdBios.c
#ifndef nodebug
#define nodebug __nodebug
#endif
It is still not up to me what is the diff between #nodebug and __nodebug

I believe the difference is purely a change in naming convention to improve ANSI C compatibility. The internal and or compiler specific keywords now start with __ whereas in older versions (I’ve just looked at 10.56 for example) the keyword was nodebug and not __nodebug. The macro in stdbios.c is there to stop older code from breaking.