Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
#1

Две экспортные функции по одному адресу - C++

09.02.2014, 10:12. Просмотров 263. Ответов 2
Метки нет (Все метки)

Здравствуйте. Использую для экспорта:

extern "C" __declspec(dllexport) __declspec(noinline)

Но две функции вышли по одному адресу, как поправить это дело?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 10:12     Две экспортные функции по одному адресу
Посмотрите здесь:

Определить принадлежат ли одному и тому же листу две заданные страницы - C++
Страницы. Страницы в книгах обычно нумеруются натуральными числами 1, 2, 3, ... так что одна сторона Первого листа имеет номер 1, обратная...

exception при вызове функции по адресу (MAPILogon) - C++
Пытаюсь прикрутить MAPI для работы с почтой. ULONG (*pMAPILogon)(ULONG_PTR, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE); ...

Вызов функции-члена класса по адресу в памяти - C++
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь...

Две функции на С++ - C++
Помагите пожалуймста решить функции, при подставлении "р" решались "А" и "А2" :scratch::-[ Буду ооочень благодарен...

Программа содержит два класса. Оба класса содержат по одному целому полю и по одному указателю на символьный тип. - C++
Помогите решить с объяснениями. Программа содержит два класса. Оба класса содержат по одному целому полю и по одному указателю на...

Связать две функции - C++
#include <iostream> int sd(int n, int d = 1) { if (n==0) { return 0; } else

Две одинаковые функции - C++
Всем привет! Я решил создать программу с OpenGL, подключив библиотеку glut. Затем мне понадобилась библиотека cstdlib для rand. Я подключил...

две функции в одной программе - C++
Добрый день. Есть проблема. Нужна помощь. Изучая с++ по самоучителю. Там указанны были две программы. Первая программа — запрашивает...

Написать программу содержащую две функции - C++
Написать программу, содержащую две функции. Первая функция, выводящая на экран строку одинаковых символов, располагается до функции main()....

Нужно соединить две функции в одну - C++
Моя проблема: есть две функции для подсчета числителя и знаменателя их нужно соединить в одну, что бы она могла подсчитывать и числитель и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
09.02.2014, 11:33     Две экспортные функции по одному адресу #2
В Visual Studio Команда меню
Проект->Свойства.
Открыть закладку
Компоновщик->Ввод
и в поле "Игнорировать указанную библиотеку"
вписать одну из этих двух.
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
09.02.2014, 19:17     Две экспортные функции по одному адресу #3
Компилятор (или компоновщик) решил, что функции идентичны и нет
смысла держать обе копии. Варианты решения:

1) Поместить функции в разные PE-секции.
Например, с помощью #pragma alloc_text.
Минусы - доступно только для C-кода, ну и некоторое "раздувание" бинарника.

2) Поставить в компоновщике опцию "Remove Redundant COMDATs" в "No".
Должно помочь. Минусы - действовать опция будет на все функции проекта.

3) Поколдовать над телом одной из функций, чтобы она немного отличалась
от своей "второй половинки". Например, чуток изменить сигнатуру или
добавить какой-то холостой код, который гарантированно не будет
выброшен компилятором.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru