乙個字母引發的編譯血案

2021-06-16 17:33:47 字數 1128 閱讀 3020

我的環境是linux作業系統。

在當前目錄下有這樣幾個原始檔:

// dou.h

int dou(int _data);

// dou.cpp

#ifdef dou

#include int dou(int _data)

#else

#include #endif

// main.cpp

#include #include int main()

makefile檔案是這樣的:

define=-ddou

all: main.o dou.o

g++ -o exe main.o dou.o

main.o: main.cpp dou.h

g++ -c main.cpp

bou.o: dou.cpp dou.h

g++ -c dou.cpp $

clean:

rm *.o exe

編譯結果:

$ make

g++ -c main.cpp

g++ -c -o dou.o dou.cpp

dou.cpp:12:20: error: window.h: no such file or directory

make: *** [dou.o] error 1

我感覺很奇怪:命名我有定義dou.o的生成規則:

g++ -c dou.cpp $
為什麼還是會自動生成bou.o的生成規則呢:

g++    -c -o dou.o dou.cpp

最後在我反反覆覆看幾遍**之後發現,在makefile的第8行有乙個字母寫錯啦:

bou.o: dou.cpp dou.h 應該是 dou.o: dou.cpp dou.h

我花了很長一段時間才找出這個問題,很是汗顏~~

希望能以此為戒。

乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...

乙個分號引發的「血案」

再多的表情也無法詮釋我現在的心情!a b for matrices 這是很水的一道題,然而卻整整折騰了我2個多小時。從晚上6點多開始,花了沒幾分鐘就把 敲好了,可是資料一測,竟然不對,然後就開始找問題,找了很久,我竟然都還沒看出問題在哪,越找心裡越不爽,這麼做明明對的呀,一執行怎麼就錯了呢?一直到了...

乙個strlen引發的血案

部分測試 原來是這樣的 int decryptrelation aesdecryptfromfiletobytes const std string in file path,unsigned char out data,const char aes encrypt key,int in data ...