我自己写的类,可以给别人用,但不能给别人看见源码,怎么办?
是不是用com能实现呀?不过我不会用com,还有没有简单一点的办法啊?

解决方案 »

  1.   

    打包成DLL,然后提供头文件的DLL及lib就可以了.
    参看:http://acloud.blogdriver.com/acloud/1220358.html
      

  2.   

    直接编译成lib库,别人用起来方便,做成dll的话,别人总要带一个dll才能运行
    再着,做成lib库比做成dll简单,根本不需涉及导出和导入的问题
      

  3.   

    哦,做lib库容易不容易,怎么做啊?做完了就一个文件吗
      

  4.   

    创建一个lib库工程,把文件加进来编译就ok了,简单极了
      

  5.   

    写个dll.静态加载形式给别人用
      

  6.   

    三种方法:
    1、DLL;
    2、COM;
    3、Automation;
      

  7.   

    做出.lib文件之后,如何使用其中的类呢?已经加到工程中了,就一个.lib文件。
    可是不会使用其中的类啊,lib有头文件么?
      

  8.   

    面向对象的系统,很重要一点就是给出接口就可以编程。对C++来讲接口一般就是类的声明。如果是同一个编译器,直接给对方目标码(.obj),由于c++的目标代码编译器之间不兼容,如果对方编译器不一样你必须打包成一个库,静态动态都成,并按照编译器的要求导出和导入类,vc++的,看起来象这样://你的文件
    class __declspec(dllexport) CYourClass {
      //类完整的声明
    }
    //给对方的.h文件
    class __declspec(dllimport) CYourClass 
    {
      //类完整的声明
    }
      

  9.   

    我提供给别人只一个.lib文件不行吗?是不是需要把.lib文件中的类要输出呀,还是怎么弄?
      

  10.   

    只需包含类定义的头文件和.lib文件
      

  11.   

    只要lib文件不行吗?我不想把头文件给别人看,有很多无关的东西都在头文件里定义的,给别人看很乱
      

  12.   

    要是只有lib文件,别人怎么知道你的接口是什么
      

  13.   

    要想隐藏的更多细节,可采取Handle-Body模式编写类
      

  14.   

    我在lib文件中的类要输出吗?是不是提供类的 .h 文件就可以了呀?
      

  15.   

    在lib文件中的类不需作处理,只需将类的需要访问的成员定义为 public 即可。如果你提供给别人的类中有不需使用的函数(包括结构定义等,但前提是这些东西不会被使用者引用),可以将他们删除。
      

  16.   

    创建dll文件后怎么用呢?
    创建dll工程的话那个lib文件又是哪里来的啊?
      

  17.   

    创建成dll,编译的时候会生成lib,然后把Lib文件和.h文件给别人就好了
      

  18.   

    创建成dll,编译的时候会生成lib,然后把Lib文件和.h文件给别人就好了

    创建dll工程,生成的是dll文件阿,没有lib?
      

  19.   

    是看debug文件下那个dll吗?
    debug下没有lib,剩下就是obj,pdb等
    这个时候可以用LoadLibrary进行加载吧?就不需要lib了?