Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Before #define ing MY_MACRO, do

#ifdef MY_MACRO

#error

#endif

edit: and #undef MY_MACRO after done using it, ideally.



Not a perfect defense either. If you ever have the misfortune of using mentor graphics code, they #define REGISTER. They also ship a standard library that uses the register keyword. If you build a project using their standard library and their toolchain together, it explodes. If you name something like set_register, it also explodes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: