Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557
1

"С" стиль именование статической функции

02.02.2017, 11:04. Показов 1260. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реально ли создать dll c++ со статической функцией класса и именованием в стиле "С".
C++
1
2
3
4
5
6
7
8
9
10
11
12
extern "C"
{
    namespace MathLib {
 
        extern "C" class __declspec(dllexport) Math {
 
        public:
            static int Summ(int a, int b);
        };
 
    }
}
В данном примере имя функции экспортируется в формате С++.
Библиотеку использую в С#. Если сделать библиотеку функций без вложения их в класс, то имена корректные.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2017, 11:04
Ответы с готовыми решениями:

Объявление статической переменной и статической функции в классе
Добрый вечер, столкнулся с проблемой и не могу решить. Есть класс SavingsAccount и в нем объявлена...

Проблема с взаимодействием динамической и статической памяти - обращение к статической переменной
Здравствуйте! Помогите решить проблему! Задача такая: написать сортировку бинарным деревом, так...

Использование нестатической функции в статической функции
Имеется функция которая наследуется классом. Но в классе есть еще статические классы внутри которых...

LNK2001 в статической функции
в некотором приложении пришлось работать с сокетами, решил сделать враперы, все вроде ничего, но...

3
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
02.02.2017, 11:13 2
Это невозможно.
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557
03.02.2017, 15:20  [ТС] 3
Цитата Сообщение от HighPredator Посмотреть сообщение
Это невозможно.
почему? прояснить сможете
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
03.02.2017, 16:06 4
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

1) Спецификатор extern запрещен к применению ко всему кроме имен переменных и функций. То есть никаких объявлений классов, методов и др. И по факту, будучи примененным к таковым в рамках классов -- тупо игнорируется. Это со времен С++98.
2) static и extern -- взаимно исключающие друг друга спецификаторы. Статическая функция имеет внутреннее связывание (internal linkage) и не может торчать наружу.

И в качестве дополнения раз уж вам под шарп надо: линковка из С++ как языка в любой другой язык и обратно зависит от реализации механизма в каждом отдельно взятом компиляторе (implementation-defined) и конкретно связки языков (language-dependent). Исключение -- Си, ибо требование стандарта.
1
03.02.2017, 16:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2017, 16:06
Помогаю со студенческими работами здесь

Обращение из статической функции к нестатической
Из статической функции нельзя обращатся в не статическую? public static function test() {...

Нестатический член в статической функции
Здравствуйте. Возник такой вопрос =) Есть класс Programm в нем public void Func(); и static void...

достук в форме из статической функции
Пришлось на C++\CLI написать програмку и столкнулся с проблеммой, суть такая. Есть внешний класс на...

Недопустимый вызов не статической функции
Добрый день, не могу понять как решить эту проблему: ...

Обращение к статической функции класса
Всем привет! есть Number.h: using namespace std; #pragma once class Number { public:...

Как вызвать метод из статической функции?
Запускаю таймер: struct sigaction sa; struct itimerval timer; memset(&sa, 0,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru