c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] (zz)
发布日期:2021-10-02 00:05:39 浏览次数:1 分类:技术文章

本文共 1135 字,大约阅读时间需要 3 分钟。

 ,最近做个项目,又想不起来了。这下Mark一下

/
 Inclusion guard
#ifndef _DLLTUT_DLL_H_
#define
 _DLLTUT_DLL_H_
//
 Make our life easier, if DLL_EXPORT is defined in a file then DECLDIR will do an export
//
 If it is not defined DECLDIR will do an import
#if
 defined DLL_EXPORT
#define
 DECLDIR __declspec(dllexport)
#else
#define
 DECLDIR __declspec(dllimport)
#endif
//
 Specify "C" linkage to get rid of C++ name mangeling
extern
 
"
C
"
{
    
// Declare 2 functions
    DECLDIR int Add( int a, int b );
    DECLDIR 
void Function( void );
    DECLDIR 
void GetPrt( char * prtStr );
}
//
 End the inclusion guard
#endif
      static void Main(string[] args)
        
{
            test.Function();
            Console.WriteLine(
"result: " + test.Add(23).ToString());
            
//string str = "aaddddddddddd";
            byte[] str = new byte[12];
            test.GetPrt(
ref str[0]);
            Console.WriteLine(System.Text.Encoding.GetEncoding(
"GB2312").GetString(str));
            Console.ReadLine();
        }
    }
    
class test
    
{
        [DllImport(
"..\\..\\lib\\DLLTest.dll")]
        
public static extern  void Function(); 
        [DllImport(
"..\\..\\lib\\DllTest.dll")]
        
public static extern int Add(int i,int j);
        [DllImport(
"..\\..\\lib\\DllTest.dll")]
        
public static extern void GetPrt(ref byte prtStr);
    }

转载地址:https://blog.csdn.net/jacky_zh/article/details/17464679 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2014年新年新气象
下一篇:密码体系的初步知识

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月19日 12时18分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章