首页 > 解决方案 > API 或框架是如何制作的,所以脚本可以使用它们的功能但您看不到代码?

问题描述

我想知道如何像某个 API 一样进行编程,我已经编写了一个算法,我想发布以便人们可以使用它,但我不希望人们看到代码并窃取它?偏执狂,我知道,但仍然如此。

那是怎么做的,所以例如我可以在 C# 脚本中(API 也可以用 C# 编写),包含它(使用 ApiName)并使用里面的函数,例如,如果 API 有一个我喜欢的函数“void Calculate(float x, float y)”,然后从脚本中调用“Calculate(100, 200)”。我知道这在某种程度上是可能的,因为 Windows API 等。创建一个类库也是一样的吗?

标签: c#api

解决方案


在任何代码运行之前,它要么被编译要么被解释为二进制文件。这是高度简化的,但这是一般的想法。只要库或 API 提供类似函数名称的接口,实现本身就可以编译并且仍然可以工作。

对于 C#,NuGet 是一个很好的示例,您可以创建代码的 NuGet(请参阅https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package),其中公共函数和方法签名将可见且可用,但将编译实现。DLL 以类似的方式工作。您可以引用它们并调用它们的公共成员但看不到代码,除非您使用工具来反编译它们。


推荐阅读