Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
skiminock
2 / 2 / 0
Регистрация: 11.06.2012
Сообщений: 18
#1

C++ DLL for C# entry point - C++

27.09.2012, 12:49. Просмотров 801. Ответов 1
Метки нет (Все метки)

heared ->
C++
1
2
3
4
5
6
7
8
9
#ifndef _DLLTEST_H_
#define _DLLTEST_H_ 
 
    #include <string>
    using namespace std;
 
    extern "C" __declspec(dllexport) string f1(string); 
 
#endif
library ->
C++
1
2
3
4
5
6
#include "test_library.h"
 
extern "C" __declspec(dllexport) string f1(string str)
{
    return str+"ololo";
}
using ->
C#
1
2
3
4
5
6
7
8
       [DllImport("D:\\Developments\\C_Project\\test_library\\Debug\\test_library.dll")]
        public static extern string f1(string str);
 
        public Form1()
        {
            MessageBox.Show(f1("ololo"));
            InitializeComponent();
        }
путь верный, using System.Runtime.InteropServices; написал)
однако вылазит сообщение, что не найдена точка входа f1 в DLL. что не так?(

Добавлено через 2 минуты
кое-что изменил, теперь вылазит

"Необработанное исключение типа "System.AccessViolationException" произошло в test_form.exe

Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 12:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ DLL for C# entry point (C++):

WinMain entry point - C++
Здравствуйте! Я только начал изучать WinAPI и, естественно, периодически заглядываю в MSDN. Но сразу же столкнулся с недопониманием. ...

Defines the entry point for the console application - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int Prime(unsigned long a) { unsigned long i; if (a ==...

Defines the entry point for the console application - C++
// structura.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

LINK : fatal error LNK1561: entry point must be defined - C++
Создан как Empty project Код программы: namespace program { void main() { } }

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

Ошибка Can't find DLL entry point CryptEnumProvidersA in advapi32.dll - Visual Basic
Проблема вот в чем. Объявляем CryptEnumProviderTypesA Private Declare Function CryptEnumProviders Lib 'advapi32.dll' Alias...

1
MrCold
858 / 756 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
27.09.2012, 17:42 #2
skiminock, вот так сработает . А что-бы кто-то std::string в С SHARP
перекидывал, такого не слыхал .
Спросите в разделе C# .NET

MyDLL.dll
C++
1
2
3
4
5
6
#include <stdio.h>
 
extern "C" __declspec(dllexport) char * GetTextFromDLL()
{   
    return "Hello from DLL!!!";
}
Form.h

C#
1
2
3
4
5
6
7
8
  [DllImport("MyDLL.dll")]
        public extern static IntPtr GetTextFromDLL();
                           
        public Form1()
        {
            var ptr = GetTextFromDLL();
            MessageBox.Show(Marshal.PtrToStringAnsi(ptr));
            InitializeComponent();
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 17:42
Привет! Вот еще темы с ответами:

Entry point must be defined при компилировании dll библиотеки - C++ WinAPI
Когда компилирую dll библиотеку, появляется ошибка entry point must be defined. Весь интернет перерыл, но так и не нашёл решения. Обычно...

"Can't find DLL entry point createPolygonRgn in gdi32.dll" - Visual Basic
Рисую семи-сегментный индикатор... Нарисовал 1 сегмент Line-ом, потом осознал, что мне потом понадобится менять цвет сегмента, нашел в...

Entry Point - Visual C++
Каким образом можно сделать entry point не в функции main(), а в какой-либо другой? Меня это интересует потому, что в зависимости от...

Ошибка: entry point must be defined - Visual C++
Создаю проект Windows forms, сразу хочу сделать release версию, выдает ошибку: entry point must be defined. IDE VS2015.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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