01/10/2018, 10:44

Tại sao lại có wanning ở đây ? Makefile

viết 12:45 ngày 01/10/2018

include guard trong sum.h sai. Phải ghi là

#ifndef _SUM_H_
#define _SUM_H_

...

#endif

#ifndef là “if not defined” (có chữ n) để kiểm tra xem _SUM_H_ có định nghĩa chưa, nếu chưa thì định nghĩa nó bằng dòng #define ở dưới, còn nếu đã có định nghĩa _SUM_H_ rồi thì khỏi khai báo lại lần nữa.

Trọng Dũng viết 12:54 ngày 01/10/2018

Vậy để ifdef thì nghĩa là nếu include n thì cho các dòng bên dưới thực hiện. Nếu như để ifndef thì có nghĩa là k cần include à? Vì khi k include n mới chạy đám bên dưới mà.

Tao Không Ngu. viết 12:45 ngày 01/10/2018

Hi Trọng Dũng.
ifdef = if def : Nếu đã define rồi thì thêm đoạn code dưới.
ifndef = if not def : Nếu chưa define thì thêm doạn code dưới.
Khi bạn include file .h ở nhiều chỗ thường dẫn đến việc bạn khai báo nguyên mẫu hàm nhiều lần. Thêm ifndef thì bạn tự suy nghĩ xem.

Bài liên quan
0