"- lm -lcrypt" указывает на связь с библиотеками математики и криптографии - полезно, если вы собираетесь использовать функции, определенные в math.h и crypt.h. «-pipe» просто означает, что он не будет создавать промежуточные файлы, а вместо этого будет использовать каналы. "-DONLINE_JUDGE"
определяет макрос с именем "ONLINE_JUDGE
", как если бы вы добавили "#define" в ваш код. Я полагаю, что именно так вы можете поместить что-то конкретное для судейства в свой код в блоке "#ifdef" / "# endif".