tôi vẫn phải vật lộn để biên dịch một giao diện điều khiển ứng dụng C, thủ tục biên soạn vẫn thất bại với lỗi dưới đây:extern "C" lỗi # 2040: dự kiến một định danh
"Main.c", line 51: error #2040: expected an identifier
extern "C" void TreatReceivedSignal(int NoSignal) ;
^
1 error detected in the compilation of "Main.c".
gmake: *** [Main.o] Error 2
dưới khai báo của hàm extern trên mã C:
extern "C" void TreatReceivedSignal(int NoSignal) ;
tôi đang sử dụng HP-UX acc biên dịch [HP C/AC++ B3910B A.06.26], tôi cũng bật cờ biên soạn -Ae cho phép hỗ trợ C99. Dường như trình biên dịch không thể nhận ra 'extern' C '' là từ dành riêng cho C, có thể cần một số cờ biên dịch khác. Bất kỳ ý tưởng nào có thể giải quyết vấn đề này? Cảm ơn bạn rất nhiều trước. Kính trọng
C và C++ không phải là * tương tự *. Đừng đối xử với họ như thể họ đang có. Tìm hiểu một, hoặc tìm hiểu khác. Đừng học chúng cùng một lúc. Không viết mã C cho mục đích được "compilable as C++". Có nhiều lý do tại sao đó là một ý tưởng tồi. Viết bằng C hoặc viết bằng C++. Nếu bạn muốn liên kết mã C với một dự án C++, hãy biên dịch mã C bằng trình biên dịch C và sử dụng trình liên kết C++ của bạn để liên kết mã đối tượng. – Sebivor