Tôi đang cố gắng biên dịch dự án của mình theo GCC (Visual Studio biên dịch hoàn hảo).GCC, Unicode và __FUNCTION__
Tôi có chức năng xác nhận tùy chỉnh để gửi thông báo chuỗi. Một phần của nó là _ _FUNCTION__ vĩ mô, mà tôi "unicodize" sử dụng mở rộng vĩ mô từ MSDN
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
Nó biên dịch ổn trong MSVC, nhưng nó in này trong GCC:
error: ‘L__FUNCTION__’ was not declared in this scope
duy nhất giải pháp tôi có thể đi kèm là chuyển đổi nội dung của __FUNCTION __ thành chuỗi thời gian chạy bằng mbstowcs, nhưng tôi muốn tìm một cách biên dịch để thực hiện nó.
Cảm ơn bạn đã trợ giúp.
Bạn nên đăng macro '__FUNCTION__' của mình. – Gabe
Tôi nghĩ rằng nó được tự động cung cấp bởi các biên dịch, ít nhất MSVS tự động hiển thị nó. Nó thậm chí sẽ không cho phép tôi đi đến định nghĩa, vì vậy tôi không biết nó được định nghĩa như thế nào. –