Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2017, 11:00   #1
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 261
По умолчанию Манглинг имен и конвенции вызова

Как можно ответить на вопросы, для чего нужны конвенции вызова и манглинг имен в C++? Имеется в виду, для чего это знать прикладному программисту и что ему с этим делать. Я рассказал о том, что это вообще такое и как это может быть связано с проблемами линковки, но такого ответа оказалось мало.
Aoizora вне форума Ответить с цитированием
Старый 24.08.2017, 11:51   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Как иначе вы предлагаете отличить функцию print(int) от print(char)?
Прикладному программисту это знать не надо.
waleri вне форума Ответить с цитированием
Старый 24.08.2017, 12:32   #3
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Aoizora Посмотреть сообщение
для чего нужны конвенции вызова
Чтобы было понятно какие операции нужно сделать при вызове,
т.е. куда ложить параметры, где будет возвращаемое значение и т.д.

Цитата:
манглинг имен в C++?
Перегрузка функций.

Цитата:
Сообщение от Aoizora Посмотреть сообщение
Имеется в виду, для чего это знать прикладному программисту и что ему с этим делать.
Для того, чтобы знать, почему получаем undefined refererence
при переносе кода, почему функции называются по другому,
для чего нужен extern "C" и тому подобное.
Croessmah вне форума Ответить с цитированием
Старый 31.08.2017, 10:53   #4
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Aoizora Посмотреть сообщение
Имеется в виду, для чего это знать прикладному программисту и что ему с этим делать.
Прикладному программисту иногда (очень редко) ставят интересные задачи, например, загрузить ДЛЛ wince6 arm на андроид, таком же arm и вызвать некую ф-цию оттуда и получить результат. И вот тут все эти mangled names в полный рост и их понимание, и как членам класса передаются this и т.д.

Точнее задача звучит иначе - вот есть СДК к девайсу(а фирмы производителя много лет уже нет), в нем вот набор ДЛЛ на разные платформы...как бы это так на современном оборудовании запустить. А дальше выливается см. выше.

Последний раз редактировалось alexzk; 31.08.2017 в 10:57.
alexzk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ODBC - ошибка вызова vladtr Microsoft Office Access 2 30.07.2015 19:40
Порядок вызова процедуры artem611 Помощь студентам 3 11.05.2011 18:28
Отмена вызова метода peplenko Общие вопросы C/C++ 2 12.04.2011 13:52
Метод обратного вызова? Altera Общие вопросы Delphi 20 11.08.2010 18:27
свойство вызова OpenDialog msk11 Компоненты Delphi 3 05.04.2010 00:03