gitignore

如果用git管理的工程文件结构比较复杂,可以新建一个.gitignore文件 $cat .gitignore *.o tmp* 用来忽略一些文件,比如上面的内容可以用来忽略以.o结尾的文件和tmp开头的路径。 今天发现还可以用惊叹号!来做白名单。 $cat .gitignore *.o tmp* !*.c 这样确保.c文件不被git忽略。 值得注意的是,.gitignore里条件是靠后优先的,写在后面会覆盖前面的效果。 比如当前目录下有 $ls . a.c a.o tmp.c 上面的.gitignore不会忽略掉tmp.c

log和logf

用C/C++处理数据的时候,如果数值比较大就得注意数据类型。比如这个log函数的问题。 log接受double类型的参数,而logf接受float类型。 比如这段代码: #include #include int main() { double x = 4.4e52; printf(“log(%lf) = %f\n”, x, log(x)); printf(“log(%lf) = %f\n”, x, logf(x)); return 0; } linux/gcc下的输出是 log(43999999999999999701721741671911630964315171445538816.000000) = 121.216029 log(43999999999999999701721741671911630964315171445538816.000000) = inf