fopen "rb"和"rt"的區(qū)別:長(zhǎng)度
一次性加載文件時(shí)需要注意文件的長(zhǎng)度。使用ftell計(jì)算長(zhǎng)度和使用fread得到長(zhǎng)度會(huì)不同,前者的長(zhǎng)度可用于申請(qǐng)空間,后者的長(zhǎng)度為實(shí)際加載在內(nèi)存的長(zhǎng)度,參考如下代碼(省去了錯(cuò)誤檢查):
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文件中,在字符串中\(zhòng)表示轉(zhuǎn)義,因此需要\\表示路徑分隔符,而在依賴規(guī)則中,則不需要轉(zhuǎn)義。如下面的兩個(gè)規(guī)則同義:
SEP = \\
temp$(SEP)xxx.o: xxx.c
temp\xxx.o: xxx.c