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

Работа с DLL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ АТД-однонаправленный список http://www.cyberforum.ru/cpp/thread27630.html
доброй ночи =) .......я человек не смыслящий в этом атд классе, нуждаюсь в вашой помощи.......вот мне попалось такое задание Атд-однонаправленый список с элементами типа char. Дополнительно перегрузить след.функции: + и - добавить элемент в конец (list + char) - - - удалить элемент с конца ( тип list---) ! =- проверка на неравенство кто сможет, буду признательна.......
C++ Таблица синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов 1.Используя циклы while, do - while и for, написать три варианта программы получения на экране таблицы синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов. 2. Вычислить и вывести все члены числового ряда 1, 1/2!, 1/3!,……1/N! значение которых превышает 10 в -5 стерени http://www.cyberforum.ru/cpp/thread27560.html
C++ Класс по обработке bmp-файлов
добрый вечер! проблема в чтении структур в файл. когда писала программу по обработке файла не в классе, никаких проблем не было. теперь тот же код использую в функции класса, и вот здесь, например ifstream inBMP(name,ios::in| ios::binary); inBMP.read((char*)&bmfh,sizeof(BITMAPFILEHEADER)); inBMP.read((char*)&bmih,sizeof(BITMAPINFOHEADER)); ...
C++ Оптимизация в пределах линейных участков - исключение лишних переменных
Необходимо произвести оптимизацию в пределах линейных участков (исключить лишние переменные). На входе имеем синтаксическое дерево. (На первое время можно захардкодить; в любом случае, нужно придумать еще и как его представить). Что конкретно делать на данный момент почти не понятно. Очень нужны советы - ссылки на чтиво какое полезное, или, лучше, конечно, поконкретнее - реализации оного....
C++ Последовалельность чисел с 0-м http://www.cyberforum.ru/cpp/thread27408.html
Задача: Дана последовательность чисел, среди которых есть один нуль. Вывести на печать все числа к нулю включительно. Желательно оформить в виде процедур. Вот сдесь программы которые нагуглил: uses wincrt; var a:arrayof integer; n,i,k:integer;
C++ Floating Point:Square Root of Negative Number После запуска программы в Borland C++ вылезает следующая ошибка Floating Point:Square Root of Negative Number. В чем причина и как ее исправить? подробнее

Показать сообщение отдельно
kolyanb
0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 3
27.03.2009, 01:33     Работа с DLL
У меня такая проблема не могу экспортировать функцию с шаблоном без шаблона она без проблем работает. Название функции BubleSort.
*.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//---------------------------------------------------------------------------
#ifndef SORTDLL_cpp
#define SORTDLL_cpp
 
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
#include "SortDLL.h"
 
using namespace std;
 
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
    return 1;
}
//---------------------------------------------------------------------------
 
template <class T>
void BubleSort(const T *&Array, int SIZE)
{
   T temp;
    for (int i = 1; i < SIZE; ++i)
   {
      for (int j = SIZE - 1; j >= i; ++j)
      {
         if (Array[j] > Array[j - 1])
         {
            temp = Array[j];
            Array[j] = Array[j - 1];
            Array[j - 1] = temp;
         }
      }
   }
}
 
int summ(int x)
{
    return x;
}
//---------------------------------------------------------------------------
#endif
*.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef Sort_DLL_H
#define Sort_DLL_H
#ifdef _DLLEXPORT_
  #define _DECLARATOR_ __declspec(dllexport)
#else
  #define _DECLARATOR_ __declspec(dllimport)
#endif
 
using namespace std;
 
template <class T>
extern void _DECLARATOR_ BubleSort(const T *&Array, int SIZE);
 
extern "C" int _DECLARATOR_ summ(int x);
#endif
Основная программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
    HINSTANCE dllInstance = LoadLibrary("SortDLL.dll");
   if (dllInstance)
   {
   typedef int (_import *FType(const T *&Array, int SIZE));
    FType *summ;
    summ = (FType *)GetProcAddress(dllInstance, "_BubleSort");
 
   if (summ != NULL)
   {
   int *mas;
   mas = new int [5];
   for (int i = 0; i < 5; ++i)
   {
      mas[i] = rand()%(10);
   }
   summ(mas, 5);
 
 
   FreeLibrary(dllInstance);
   }
   }
   getch();
    return 0;
}
//---------------------------------------------------------------------------
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru