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

Создание *.dll: для чего нужен компилятору параметр -DBUILD_DLL? (использую MinGW) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлом типа fstream http://www.cyberforum.ru/cpp-beginners/thread1091503.html
Пишем несложный код: fstream file("Test.txt",ios_base::in|ios_base::app); int cnt = 0; while (cnt < 3) { cerr << char(file.get()); cnt++; }
C++ Эмулятор. На С, С++ Здравствуйте уважаемые читатели форума! У меня такой вопрос: (СРАЗУ ПРЕДУПРЕЖДАЮ Я НЕ ОЧЕНЬ ХОРОШО РАЗБИРАЮСЬ ПОКА В ЭТОМ ТАК ЧТО ОЧЕНЬ МНОГОЕ ИЗ МОИХ СЛОВ МОЖЕТ БЫТЬ ЖУТКИМ ....) В качестве зачетного задания преподаватель задал написать эмулятор процессора, (ну вначале придумать архитектуру, и написать эмулятор этого). Шаблон он дал, там был примитивный ассемблер, написанный на перле. И на С... http://www.cyberforum.ru/cpp-beginners/thread1091494.html
C++ Использование стороннего CSP. Шифрование в программе
Снова обращаюсь к гуру программирования. Возникла ещё одна проблема, причём уже давно. Некоторые пользователи жалуются на невозможность использования программы по причине НЕсохранения их данных в форме ввода. Хотя автосохранение стоит. На данный момент в программе используется виндовый CryptAcquireContext для шифрования введённых данных (логин и пароль для доступа к персональному кабинету...
Я создаю утечки памяти ! C++
Нет, я не хочу похвастаться этим. Я любитель использовать быстрые решение для того чтобы реализовать алгоритм или проверить "чтобы работало", но как известно нет ничего более вечного, чем временное... ... время идет, а код остается :wall: Образец:HTEXTURE tex; tex = hge->Load_Texture("texture.png"); hgeSprite* sprite = new hgeSprite(tex,0,0,50,50); sprite->Render(); //Play delete sprite;...
C++ Каким образом идет поиск слов в кавычках? http://www.cyberforum.ru/cpp-beginners/thread1091483.html
Доброго времени суток! Вот вся программа #include <fstream> #include <iostream> #include <string> int main() { std::ofstream ofs("test.txt");
C++ Умножить матрицу 10х10 на вектор из 10 элементов дана матрица:10*10.умножить ее на вектор 10.помогите пожалуйста...очень нужно подробнее

Показать сообщение отдельно
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
18.02.2014, 18:36  [ТС]     Создание *.dll: для чего нужен компилятору параметр -DBUILD_DLL? (использую MinGW)
Ничё не понял. Может, перейдём к конкретике? Я вот тут подумал- где может быть реальна полезна штука из первого поста. И написал такой код (хотя мне потом скажут, что примеры приводили, никто примеров полезности не приводил. Первый пример действительной полезности ниже)

C++
1
2
3
4
5
6
7
8
9
10
11
//A.cpp
#ifdef BUILD_DLL
   // the dll exports
   #define EXPORT __declspec(dllexport)
#else
   // the exe imports
   #define EXPORT __declspec(dllimport)
#endif
 
extern "C" EXPORT void functsia_0 () {}
extern "C" EXPORT void functsia_1 () {}
Bash
1
2
del A.dll libAdll.a
gcc -shared -o A.dll -Wl,--out-implib,libAdll.a A.cpp -D BUILD_DLL=1
Так, ну а потом я передумал и переписал всё это дело так:

C++
1
2
3
4
//A.cpp
#define EXPORT __declspec(dllexport)
extern "C" EXPORT void functsia_0 () {}
extern "C" EXPORT void functsia_1 () {}
Bash
1
2
del A.dll libAdll.a
gcc -shared -o A.dll -Wl,--out-implib,libAdll.a A.cpp
Даже я не знаю, что и добавить. Два кода. Второй проще причём лишь тем. что убрано лишнее, то есть ничё не добавилось, то есть ничё запоминать не надо, память головную (в смысле помнить, что чем заменить) загружать не надо. Файлы на выходе абсолютно одинаковые.

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