1

メソッド「Talk」をC#から呼び出したい。他の関連する投稿を調べましたが、役に立ちませんでした。

Managed.Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Runtime.InteropServices;

namespace Managed
{
    class Program
    {
        [DllImport("Unmanaged.exe", CallingConvention=CallingConvention.Cdecl,EntryPoint="Talk",CharSet=CharSet.Ansi)]
        public static extern int Talk();
        static void Main(string[] args)
        {
            int value=Talk();
        }
    }
}

管理されていない.h

#ifndef UNMANAGED_H
#define UNMANAGED_H
extern "C"
{
__declspec(dllexport) int Talk();
}
#endif

管理されていない.cpp

#include "stdafx.h"
#include "conio.h"
#include "Unmanaged.h"

int Talk()
{
    int x=10,y=5;
    return (x+y);
}
4

1 に答える 1

2

ライブラリを としてデプロイする必要がありますDLLDllImportP/Ivoke を使用する .dll ライブラリに対してのみ機能します。

VS で DLL を作成する場合、 Win32 でコンソール アプリケーションを選択し、ラジオ ボタンを「Dynamic-Link-Library (DLL)」に設定します。

その後、あなたがしたようにしてください。詳細については、こちらを参照してください。

于 2013-02-28T12:24:11.270 に答える