Значение RTNLGRP_NEIGH
будет равно 3 (это четвертая константа перечисления: RTNLGRP_NONE
имеет значение 0, RTNLGRP_LINK
имеет значение 1, а RTNLGRP_NOTIFY
имеет значение 2).
Материал #define
несколько странный - это то, что может заставить людей хотеть остановить вас, используя предварительный процессор C .
Идея заключается в том, что он дает вам макрос для RTNLGRP_NEIGH
, который можно протестировать, но расширение макроса является константой перечисления (записано то же самое). В расширениях нет бесконечного цикла, поскольку после того, как макрос был расширен, он снова не расширяется при повторном сканировании текста замены.
Итак, результат заключается в том, что вы можете написать:
#ifdef RTNLGRP_NEIGH
…code using RTNLGRP_NEIGH…
#endif
Исходный скомпилированный путь хранится в отладочной информации в файлах PDB.
Поскольку это говорит Вам, где найти проблему в Вашем исходный код . Таким образом, когда Вы видите это, можно перейти к машине и открыть файл, о котором сообщают (например, "D:\Projects\xyz.cs"), перейдите к строке, о которой сообщают (например, 12) и решите проблему.