为什么COM组件都是用C++写的,其它的语言可以写吗,例如C#

解决方案 »

  1.   

    其他语言可以编写,例如:delphi、VB等。如果使用C#编写,那个需要运行的机器上有dotnet环境才行。
    而C++、vb、delphi编写就不需要,只要是windows操作系统就行。
      

  2.   

    c#是专门为了.net平台而出现的一个语言.c#.net程序必须在.net framework下才能运行.
    当然要是编写Com的话,肯定是可以实现它的功能的..
      

  3.   

    可以。。效率问题, COM本来就是在后台执行的程序, 所以c++更合适些。。
      

  4.   

    C#写COM组件:    [ComVisible(true)]
        public interface IMath
        {
            [DispId(1)]
            int Add(int a, int b);        [DispId(2)]
            int Sub(int a, int b);
        }
        [ComVisible(true)]
        [ClassInterface(ClassInterfaceType.None)]
        public class Dotnet :ServicedComponent, IMath
        {
            #region IMath 成员        public int Add(int a, int b)
            {
                return a+b;
            }        public int Sub(int a, int b)
            {
                return a - b;
            }        #endregion
        }