如何在两种编程语言之间传输值/数据?

2024-10-02 08:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我在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
        }

    }
}

我对编程相当陌生,但数字/字符串不是原始数据吗?比如,我们不能只使用内置函数在程序之间传输数据,而不必使用任何类型的文件在程序之间传输数据吗?
如果这样的事情是可能的,有人能列出编程语言和它们各自的功能来实现这一点吗


Tags: 程序语言dataincludeiscodenamespaceexe
1条回答
网友
1楼 · 发布于 2024-10-02 08:28:10

如果我理解正确,您希望有两段用不同语言编写的代码来相互通信。有多种方法可以做到这一点,但对于刚接触编程的人来说,大多数方法都有点过于复杂,难以掌握,因此我的建议如下

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

有两种库:

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

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

相关问题 更多 >

    热门问题