Trong mã C, tôi đã xem qua bit này_ ("văn bản"), nghĩa là dấu ngoặc đơn gạch dưới, làm gì?
_("test")
Nó làm gì? (Tôi đã cố tự tìm kiếm, nhưng như bạn có thể tưởng tượng, các công cụ tìm kiếm không hỗ trợ tìm kiếm ...)
Trong mã C, tôi đã xem qua bit này_ ("văn bản"), nghĩa là dấu ngoặc đơn gạch dưới, làm gì?
_("test")
Nó làm gì? (Tôi đã cố tự tìm kiếm, nhưng như bạn có thể tưởng tượng, các công cụ tìm kiếm không hỗ trợ tìm kiếm ...)
Gọi hàm _
. Ví dụ:
#include <stdio.h>
void _(int a) {
printf("%d",a);
}
int main(void) {
_(3);
return 0;
}
_
là một chức năng hiện có trong gettext library và được sử dụng để quốc tế. Như đã nói trong this answerThis function basically replaces the given string on runtime with a translation in the system's language, if available (i.e. if they shipped a .mo file for this language with the program).
@IvayloStrandjev Đó là một phần của gettext, nó không phải là một trình biên dịch được xây dựng trong tất cả các – unwind
@unwind cảm ơn bạn đó là lỗi của tôi –
Đó là trình bao bọc chuỗi. Nhìn vào đây: http://stackoverflow.com/questions/3336056/underscore-function – marsze
bạn không thể chia sẻ đoạn mã? –
Nếu bạn chạy 'grep _ \ (* [ch]', bạn sẽ thấy rằng nó là macro giống '#define _ (String) gettext (Chuỗi)' –