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

Превратить консольное приложение на C++ в DLL для использования в C# - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Базы данных на си http://www.cyberforum.ru/cpp-beginners/thread695544.html
не понимаю в чем ошибка #include <stdio.h> #include <conio.h> #include <string.h> #include <math.h> #define n 3; #define line printf ("\n----------------------------------------------------------------------------------------------------------------------------"); #define shapka printf ("\nImya |ed | izgotl| postav |stoim | izgot |data | srokhran |stoimperev |stoimbezperev|...
C++ Как объявить 10 значную переменную такой как 9876543210 Какой тип переменной используется для объявления 10 значной переменной такой как 9876543210? пробовал double, но компилятор выдаёт ошибку, для int это слишком большое число. http://www.cyberforum.ru/cpp-beginners/thread695541.html
Псевдокод, данные, тестовые данные C++
необходимо выполнить задание после написания программы: Описать 1. структуру псевдокод программы; 2. данных и связей по данным; 3. взаимодействие (интерфейс) программы с пользователем; 4. тестовые данные; 5. схему (план) отладки и тестирования; 6. провести необходимое количество «выполнений» программы; 7. получить систему скриншотов, полученных при «выполнении» программы. (по планам...
Вывод содержимого файла C++
Здравствуйте! Проблема в том что не выводит на экран содержимое файла. 1 раз выводит, а второй нет(( и еще надо вывести содержимое в другой файл (например, output.txt) при этом поменяв местами 2 соседние слова. Думал это как-то может через strncpy сделать, но КАК? подскажите, пожалуйста. вот код #include <vcl.h> #pragma hdrstop ...
C++ Написать функции 1 вывода массива на экран http://www.cyberforum.ru/cpp-beginners/thread695530.html
Создать массив на 10 эдементов.Заполнить случайными значениями до 10,написать функции 1 вывода массива на экран. 2 Добовления элемента нового массива в коне.3 добавить новые элементы в начало массива вставка элемента в прроои пользыватель вводит в какой жлемент вводить.4 удпление элемента массива с конца массива.5 удаление элемента масива с начала 6 удаление произвольного дополнительного...
C++ Вызов DialogProc большой проект Win32, в нем добавил формочку, то есть диалог. Вызываю этот диалог так:CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG1), GetDesktopWindow(), NULL); но так как мне нужна функция-обработчик событий CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG1), GetDesktopWindow(), DialogProc); и в другой файл кинул мою функцию #include <Windows.h> подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,270
13.11.2012, 00:33     Превратить консольное приложение на C++ в DLL для использования в C#
Насколько я понимаю, dll это процедурное программирование в чистом виде. Имею ввиду использование:
C++
1
2
3
функция (параметры);
функция (параметры);
функция (параметры);
То есть все функции класса Ocean становятся внешними, а сам класс поэтому превращается в структуру.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifdef BUILD_DLL
   // the dll exports
   #define EXPORT __declspec(dllexport)
#else
   // the exe imports
   #define EXPORT __declspec(dllimport)
#endif
 
struct Ocean {
 int a, b, c, d, e;
};
 
EXPORT void initialize (Ocean*, int, int, int, int, int);
C++
1
2
3
4
5
6
7
8
9
/*A.cpp*/
#include "A.h"
EXPORT void initialize (Ocean* myOcean, int a, int b, int c, int d, int e) {
 myOcean->a= a;
 myOcean->b= b;
 myOcean->c= c;
 myOcean->d= d;
 myOcean->e= e;
}
C++
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <stdio.h>
#include "A.h" 
 
int main (){
 Ocean* myOcean= new Ocean;
 initialize (myOcean, 24,70,10,10,10); 
 printf ("+++ %d\n", myOcean->a);
 getchar ();
 return (0);
}
Компилить dll:
C++
1
2
g++ -c -DBUILD_DLL A.cpp
g++ -shared -o A.dll -Wl,--out-implib,libAdll.a A.o
Компилить exe:
C++
1
2
g++ -c B.cpp
g++ -o B.exe B.o -L./ -lAdll
может я в чём-то неправ
 
Текущее время: 03:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru