게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
VB .Net 에서 C++로 만든 DLL 파일 함수 불러오기 질문입니다.
게시물ID : programmer_13971짧은주소 복사하기
작성자 : 고기발사
추천 : 0
조회수 : 1489회
댓글수 : 6개
등록시간 : 2015/10/19 17:58:16
안녕하세요. 제가 하고자 하는건
VB .NET에서 C++로 만든 함수를 호출하면 C++이 값을 지정해주는 것을 해보려고 합니다.
.NET은 디컴파일로 안에 상수값 같은 것들이 다 보이니까 ㅋㅋ 안보이게 할려고요.

우선 제가 C++을 전혀 모르지만 검색을 통해 DLL을 만들어 봤습니다.

#include "stdafx.h"
#include "string"

#define TestDLL extern "C" __declspec(dllexport)

struct TEST_STRUCT

{
    char sangsu1[32];
   
    char sangsu2[32];

    char sangsu3[32];
   
};

extern "C" __declspec(dllexport) void SetDllData(TEST_STRUCT *t)
{
    strcpy_s(t->sangsu1,"http://naver.com");
    strcpy_s(t->sangsu2, "123456");
    strcpy_s(t->sangsu3, "https://google.com");
}

요렇게 빌드를 해서 , VB .NET 실행파일 위치에 붙여넣고!

Dllimport를 이렇게 불러오고,
Public Declare Sub SetDllData Lib ".\TestDLL.dll" Alias "SetDllData" (ByRef param As TestDll)

Struct에 대응되면 클래스도 만들고,
<StructLayout(LayoutKind.Sequential)> _
    Public Class TestDll
        Public param1 As IntPtr
        Public param2 As IntPtr
        Public param3 As IntPtr
    End Class

Form.load 에서 이런식으로 콜했는데요...

Dim tes As TestDll = New TestDll

SetDllData(tes)


이건 뭐 오류도 안뜨고 어플이 그냥 죽어버립니다...
검색으로도 한계가 왔고 주변에 C++을 아는 사람이 없어서..(눈물 ㅠㅠ)
여기에 의견을 부탁드려봅니다~

somebody help me~~~~~~~
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호