Tôi cần bao gồm một số tiêu đề ban đầu được viết trong C trong dự án C++. Trong các tệp tiêu đề, restrict
keyword được sử dụng, dẫn đến lỗi cú pháp cho C++.Macro để loại bỏ từ khóa `limits` khi biên dịch với C++
Tôi đang tìm macro tiền xử lý kiểm tra xem tôi đang biên dịch bằng trình biên dịch C++ và xóa từ khóa restrict
trong trường hợp này.
xác định 'giới hạn' thành không có gì là hợp pháp ngay cả trong C (vì bộ tiền xử lý biến đổi nguồn trước khi trình biên dịch C nhìn thấy nó), nhưng nó sẽ không là mục đích. –
@AlexeyFeldgendler đó là lý do tại sao nó được bọc bằng '#ifdef __cplusplus' ... – SomeWittyUsername
nếu bạn đặt' # define' trong mã C++ trước khi bao gồm các tiêu đề C (cùng với 'extern" C "{' bạn sẽ cần), bạn thậm chí sẽ không cần '# ifdef/# endif'. Cố gắng xâm lấn tối thiểu, có nghĩa là không sửa đổi mã C của bạn vì ai đó có thể cố gắng sử dụng lib trong C++. Thay vào đó, hãy sửa đổi mã C++. –