不改写程序能不能直接调用纯C的程序?如何?请给出例子,谢谢

解决方案 »

  1.   

    我想过改写程序为pascal的,但是好麻烦,好多类型变量需要转化!
      

  2.   

    大虾们谁用过类似的方法,请不吝赐教,有礼了!bow
      

  3.   

    可以先将C代码编译为.obj的目标文件然后就可以连接使用了,具体方法参考帮助!
      

  4.   

    manboo的解答是正宗的方法,具体例子可参考delphi 6安装盘里Delphi6\Info\Extras\Zlib
      

  5.   

    我仍然认为做成DLL调用更好,以后程序升级也方便。
      

  6.   

    按照大虾说的,我看了帮助,按照里面的方法声明一个函数的原型,可是他老是报错,“unsatisfy forward or external declaration:add_test”
       add_test是里面的一个函数名。这是怎么回事呢?
      

  7.   

    切记用BC++编译,用TC编译的obj文件是16位的!
      

  8.   

    我想试试dll的调用,怎么做dll呢?
      

  9.   

    New Items中找到DLL Wizard
      

  10.   

    多谢ehom关注,我看了有关的dll制作,现在我的dll是用CBuilder做的,然后在Delphi里调用,它老是抱错:无法定位输入点“函数名”于动态链接库“dll文件名”上,这如何是好?
      

  11.   

    调用的语句:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;function myadd(a:integer;b:integer):integer;external 'Project1.dll';
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      i:=myadd(1,2);
      Edit1.Text:=inttostr(i);
    end;
    不知道这个调用有没有错误?