如何在 2 种编程语言之间传递 values/data?

How to transfer values/data between 2 programming languages?

假设我用 C++ 创建一个程序 并创建一个名为 ctesting.exe

的 .exe
 #include<iostream> //ctesting code
using namespace std;
int main()
{
    int n;
    cout << "enter number=";
    cin >> n;
    return n+1;//this value is returned to the program that executed ctesting.exe
}

现在我用 c#(或任何其他语言,最好是 python)创建另一个程序 我如何 运行 ctesting.exe 并从中获取值 (n+1) 甚至可能向 运行 之前的 ctesting.exe 提供值,即替换 cin> >n 输入直接来自 c# 程序(或任何其他语言)

namespace c_hash_testing 
{
    class Primary
    {
        static void Main(string[] args) 
        {
           var data=some_run_function("ctesting.exe");
           //data is assigned n+1
        }

    }
}

我是编程新手,但 numbers/strings 不是原始数据吗?比如我们不能仅使用内置函数在程序之间传输它们而不必使用任何类型的文件在它们之间传输数据吗?
如果可能的话,有人可以列出编程语言及其各自的功能来实现这一目标吗?

如果我没理解错的话,你希望有两段用不同语言编写的代码来相互通信。有多种方法可以做到这一点,但其中大多数对于编程新手来说有点过于复杂而难以掌握,所以这是我的建议。

实现此目的的最简单方法是不使用两个单独的程序,而是将您的功能构建到一个库中,然后加载到主程序中。库和主程序可以用两种不同的语言编写,但库必须是特定类型,具体取决于您的操作系统。

有两种库:

  • 当构建成功完成后,静态库将进入您的可执行文件,这意味着您的程序不依赖于 .exe 文件以外的任何内容。此外,使用您的库的功能与调用函数一样简单。
  • 动态库没有包含在你的可执行文件中。您必须向他们提供您的 .exe 文件,否则您的程序将失败。您可能已经知道这些库是 DLL(扩展的名称)。使用这些库不像调用函数那么简单,因为您必须手动加载库并查找函数。所以我不建议初学者选择这个选项。

您可以通过在 IDE 上搜索如何为您的操作系统构建和使用静态库或动态库来获取更多信息。