【问题标题】:can i implement `_exit`c function in delphi?我可以在delphi中实现`_exit`c函数吗?
【发布时间】:2017-03-17 14:24:36
【问题描述】:

我想在delphi xe3中消费c obj文件。

链接 obj 文件时,显示此错误:

`[dcc32 Error] Unit1.pas(149): E2065 Unsatisfied forward or external declaration: '_exit'`

我可以实现_exit函数吗?

【问题讨论】:

标签: delphi delphi-xe3


【解决方案1】:

是的,您确实可以这样做。通常,您会将 .obj 文件链接到项目中的单个单元。在该单元中实现exit 函数,Delphi 链接器会找到它。

....

implementation

....

{$LINK foo.obj}

procedure _exit(status: Integer); cdecl;
begin
  // your implementation goes here
end;

正如我已经说明的那样,您将函数放置在单元的实现部分。它不需要在设备外部可见。

您可能有多个链接到 C 对象的不同单元,在这种情况下,您可以将 C 运行时函数(如 exit)放在一个单元中,并从链接到 C 对象的每个其他单元中使用它。在这种情况下,您需要在接口部分公开每个函数,以便链接器可以看到该函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2013-08-30
    • 2018-07-15
    • 2011-06-04
    • 1970-01-01
    相关资源
    最近更新 更多