| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > одна функция под разными именами в makefile'е |
| Автор: _hunter 21.7.2008, 10:36 | ||
| Добрый день. Помогите с такой проблемой. Делаю студийный проект из makefile'а. Там есть такие:
строчки. Т.е. один модуль собирается дважды, но одна из его функций в объектниках имеет разные имена. Можно, конечно из proxymain.c сделать proxymain_tcp.c и proxymain_udp.c но держать копию файла (и помнить что файл после правки нужно незабыть бы скопировать) как-то не хочется... Есть ли другой метод? С уважением... |
| Автор: xvr 21.7.2008, 11:58 | ||||
Сделать 2 модуля, которые будут состоять из необходимых #define'ов (разных) и одного #include'а (одинакового) с файлом оригинального модуля. Оригинальный модуль при этом вообще исключается из компиляции. |
| Автор: _hunter 21.7.2008, 13:19 | ||
| так тело функции не заинклюдится вроде... или я чего-то не понял? есть функция:
как ее в два разных модуля затянуть? |
| Автор: jonie 21.7.2008, 15:13 |
| #include "file.cpp" тоже будет работать. а #define в рамках одного модуля (до инсклюда) решит проблему двойных имен. но по мне так проще изменить название этой функции и сделать два декоратора для нее. |
| Автор: _hunter 22.7.2008, 11:28 |
| я тут еще подумал -- по-идее смысл этого шаманства в том, чтобы для каждого "метода использования" иметь свои глобальные (для модуля) переменные. т.е. просто "затаскивание" функции нужного эффекта не даст... поэтому возникает вопрос -- можно ли как-то повлиять на компилятор? -- т.е. таки заставить его собирать один модуль два раза. или проще тупо сделать копию модуля и забыть о всем этом геморрое? |
| Автор: vinter 22.7.2008, 12:25 |