RT。C++/CLI 似乎可以 

解决方案 »

  1.   

    可以吧,
    Private Declare Function QueryPerformanceCounter Lib "kernel32" (ByVal lpPerformanceCount As Long) As Boolean
        Private Declare Function QueryPerformanceFrequency Lib "kernel32" (ByVal lpFrequency As Long) As Boolean
    做精确计时时的调用。
      

  2.   

    LS,你那个是VB 代码吧现在我想知道 C# 和 C++/CLI 混合编程是否可行?
      

  3.   

    C# 调用C++/CLI 生成的LIB 也不可以吗?因为安全方面的原因只能用LIB 不能用DLL,,怎么办啊!!!
      

  4.   

    C++/CLI与C#的混编很简单啊...
    把其中一个生成库dll,另外一个引用就ok了.
    如果是C++和C#的话:
    1.把C++库做成COM库,注册然后可以在C#里声明使用
    2.C++导出函数,然后在C#里声明使用
    3.C#编写成强命名程序集,安装到GAC后用regasm注册;
    之后可以在任何支持COM的语言里调用(C++,JScript,VBScript,VBA,VB6....)
    4.C++通过.net的非托管API载入C#程序集后获取接口及创建对象.至于C#和C++静态库的链接...以前好像听说有人弄过.具体是怎么样的不清楚.
      

  5.   

    dll 和COM 都不行,那个C 代码是用来加解密的,如果生成DLL 别人就可以随便调用了。
      

  6.   

    C#要调用非托管LIB类库只能通过VC.NET先封装一次。没有其它的办法
      

  7.   

    封装成什么?不是DLL 就是Lib 吧???C# 又调用不了lib
      

  8.   

    你是不是考虑下加密的思路?
    对DLL可以进行加密,并在内存中展开使用不可以吗?
    或者改个名字,除了你没人知道是DLL......
      

  9.   

    找到一个例子:《让C++代码与C#代码一起生成一个单一的Assembly》这种方法也许可行,不过要先将好多.C 文件转成 C++ 代码,有没有简单的方法?//c.h
    #pragma once
    int sqr(int n); 
    //c.cpp
    #include "c.h"
    int sqr(int n)
    {
      return n*n;
    }  为了能让它与C#共同工作,必须为它加个.NET的包装:
        //wrapper.cpp#include "c.h"
    namespace wrapper
    {
      public ref class calc
      {
      public:
          static int sqr(int n)
        {
          return ::sqr(n);
        }
      };
    }  现在可以用C#去调用它了:
        //cs.cs
    using System;
    namespace test
    {
      public class Program
      {
        public static void Main()
        {
          Console.WriteLine(wrapper.calc.sqr(11));
        }
      }
    }
      现在,如何将这些源码编译成一个exe文件呢?
      用集成环境是很难的,最方便的,还是创建一个makefile或MSBuild来完成。
      由于这个例子很简单,我用命令行来创建这个exe文件:  cl c.cpp wrapper.cpp /c /clr
      生成 c.obj 和 wrapper.obj  csc /addmodule:wrapper.obj /target:module /out:cs.netmodule cs.cs
      生成 cs.netmodule  link c.obj wrapper.obj cs.netmodule /LTCG /Subsystem:Console /entry:test.Program.Main /out:o.exe
      生成 o.exe  运行 o.exe 显示结果:121
      

  10.   

    这不就是cli的作用吗?
    HowdyHappy说的满清楚了,其中需要使用c++/cli实现中间层,就是非托管到托管的转换