fopen "rb"和"rt"的区别:长度
一次性加载文件时需要注意文件的长度。使用ftell计算长度和使用fread得到长度会不同,前者的长度可用于申请空间,后者的长度为实际加载在内存的长度,参考如下代码(省去了错误检查):
FILE* file = fopen("xxxfile", "rt");
fseek(file, 0, SEEK_END);
size_t len = ftell(file);
char* data = (char*)malloc(len*sizeof(char));
fseek(file, 0, SEEK_SET);
len = fread(data, 1, len, file);
makefile中的windows路径分隔符
在makefile文件中,在字符串中\表示转义,因此需要\\表示路径分隔符,而在依赖规则中,则不需要转义。如下面的两个规则同义:
SEP = \\
temp$(SEP)xxx.o: xxx.c
temp\xxx.o: xxx.c