如何为程序创建外部API?

时间:2015-01-09 22:41:56

标签: c api

例如,我有一个像这样的简单程序:

//Program A
#include <stdio.h>

int add(int a, int b)
{
    return a + b;
}

int sub(int a, int b)
{
    return a - b;
}

int main(void) {
    doSomeStuff();
    return 0;
}

我已启动它并且正在运行。并有程序B. 我的问题是:

  1. 如何从程序B连接到程序A并要求它运行,例如,添加功能?
  2. 如何编写外部API以便始终运行程序A?
  3. 或者,也许类似的例子,考虑一些数据库和驱动程序。驱动程序如何请求数据库?

1 个答案:

答案 0 :(得分:1)

您必须创建动态库。对于Windows,它是.DLL。在Unix中,世界也存在,但我不是那里的专家。 DLL导出一些函数(API)。当您的EXE文件使用其中一些文件时,操作系统会在运行时加载DLL,并且必要的功能是“连接”。 (即EXE中的函数调用被重定向到加载的DLL的入口点)。你可以找到DLL的例子,例如在Codeproject.com。