这些GCC/G ++参数是什么?

jpm*_*los 10 c c++ parameters gcc g++

我一直在使用UVa Online Judge解决一些编程挑战,并且在提交我的解决方案时,我被告知法官将使用以下参数将我的代码编译为GCC/G ++,我不知道:-lm -lcrypt -pipe -DONLINE_JUDGE.

他们在做什么?非常感谢你提前!

Pau*_*lin 23

"-lm -lcrypt"指定链接数学和加密库 - 如果您要使用math.h和crypt.h中定义的函数,则非常有用."-pipe"只是意味着它不会创建中间文件,而是使用管道. "-DONLINE_JUDGE"定义一个名为" ONLINE_JUDGE" 的宏,就好像你在代码中放了一个"#define".我想你可以在"#ifdef"/"#endif"块中将代码中特定的内容放在代码中.

  • "包括数学和加密库"应该"链接到数学和加密库". (4认同)
  • 只是为了完整性:-l <...>链接库"lib <...>.so*".所以-lm链接"libm.so*"和-lcrypt链接"libcrypt.so*". (4认同)