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

Нахождение _export в теле extern - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано натуральное число n. Напечатать те натуральные числа, квадрат которых не превышает n. http://www.cyberforum.ru/cpp-beginners/thread139737.html
Дано натуральное число n. Напечатать те натуральные числа, квадрат которых не превышает n.
C++ Каждый член натурального ряда от 10 до 20 уменьшить в десять раз. Подсчитать произведение Каждый член натурального ряда от 10 до 20 уменьшить в десять раз. Подсчитать произведение Добавлено через 1 час 36 минут ап ап ап ап http://www.cyberforum.ru/cpp-beginners/thread139734.html
Дано число,равна ли сумма его цифр самому числу!!!!СРОЧНО C++
Дано число,равна ли сумма его цифр самому числу!!!!СРОЧНО ПОМОГИТЕ пожалуйста!!!
C++ Составить программу с использованием условных операторов. Даны три вещественных числа. Вычислить max(x+y+z, xyz).
Составить программу с использованием условных операторов. Даны три вещественных числа. Вычислить max(x+y+z, xyz).
C++ Составить программы с использованием оператора выбора. Ввести первую букву названия страны. Вывести название континента. http://www.cyberforum.ru/cpp-beginners/thread139724.html
Составить программы с использованием оператора выбора. Ввести первую букву названия страны. Вывести название континента.
C++ Найти позицию (номер символа), в которой находится первая запятая Обработка строк. Задание 7.1. Составить программу, которая вводит строку символов, выполняет ее обработку, в соответствии с индивидуальных заданием, и затем выводит результаты. Условие:Найти позицию (номер символа), в которой находится первая запятая, и номер позиции с последней запятой. подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
02.06.2010, 17:29     Нахождение _export в теле extern
C++
1
2
3
extern "C" {
  int тут_некая_функция()
}
Это обозначает что тут_некая_функция() будет использовать совместимый с языком C способ вызова функции.
Язык C и язык C++ используют разные способы вызова своих функций.
Если некий объектный файл или библиотека ( что суть архив объектных файлов ) скомпилирован с помощью компилятора C
а затем нужно вызывать эти функции из языка C++,
то как раз это указание и нужно для компилятора C++.
Иначе он будет думать что это функции C++ и вызывать их как C++ функции и при сборке будет полная ерунда.

Обычно код несколько не такой:

C
1
2
3
4
5
6
7
8
9
#ifdef __cplusplus
extern "C" {
#endif
 
int some_func();
 
#ifdef __cplusplus
}
#endif
Такое обрамление позволяет компилироваться этому коду и в C и в C++
так как конструкцию extern "C" не понимает компилятор C++
 
Текущее время: 00:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru