Middle
Чӣ гуна манглинг кардани номҳоро дар C/C++ ғайрифаъол кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
// Барои ғайрифаъол кардани mangling номи дар C++ барои истифода бо коди C
extern "C" {
// Эълонҳои функсияҳо ё тағйирёбандаҳои глобалӣ, ки барои онҳо mangling ғайрифаъол карда мешавад
void my_c_function();
int my_c_variable;
}
// Мисоли функсия, ки бо extern "C" эълон шудааст
void my_c_function() {
// Иҷрои функсия
}
Калидвожа extern "C" дар C++ нишон медиҳад, ки баъзе функсияҳо ё тағйирёбандаҳои глобалӣ бояд бо истифода аз конвенсияҳои номгузорӣ ва даъвии забони C, на C++, таҳия шаванд. Ин пешгирӣ мекунад, ки номи онҳо тағйир ёбад (mangling), ки C++ барои дастгирии фароравии функсияҳо, фазоҳои ном ва имкониятҳои объектӣ истифода мебарад.
Дар C, mangling номи пешфарз нест.
Истифодаи extern "C" одатан дар вақти ҳамкорӣ бо китобхонаҳои навишташуда дар C, барои таъмини пайвастагии дурусти функсияҳо истифода мешавад.