gpt4 book ai didi

c# - 快速的 C++ 程序,C# GUI,可能吗?

转载 作者:IT老高 更新时间:2023-10-28 12:52:33 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




我正在研究开发一个应用程序,该应用程序将以每秒 2000 行(帧)的速度处理来自线扫描相机的数据。对于这个实时应用,我觉得C/C++是要走的路。 (这是我的感觉,其他人会同意托管代码不适合这项任务。)

但是,我几乎没有做过 MFC 或任何其他 C++ GUI。不过,我真的很擅长做 C# GUI。

所以对我来说,用 C/C++ 编写数据密集型代码和用 C# 编写 GUI 似乎很自然。 GUI 将用于设置/校准/在线监控(并且可能通过 UDP 输出数据,因为它在 C# 中更容易。

首先,我想看看是否有人同意这将是可行的方法。根据我的编程经验(擅长低级 C 算法和高级 C# GUI 设计),感觉刚刚好。

其次,我不确定正确的方法。我刚刚在 VS2005 中组合了一个解决方案,它从 C# 应用程序调用一些(extern“C”)DLL 函数。为了确保我能做到,我在 DLL 中写入了一些全局变量,并从中读取:

test.h

int globaldata;
extern "C" __declspec(dllexport) void set(int);
extern "C" __declspec(dllexport) int get();

test.cpp
extern int data=0;
__declspec(dllexport) void set(int num) {
data = num;
}

__declspec(dllexport) int get() {
return data;
}

test.cs
[DllImport("test")]
private static extern void set(int num);

[DllImport("test")]
private static extern int get();

调用 get()set()正常工作( get() 返回我传递给 set() 的数字)。

现在,我知道您也可以导出 C++ 类,但是它必须被管理吗?这是如何运作的?我会以正确的方式解决这个问题吗?

感谢你的帮助!

*** EDIT ***

首先,感谢您到目前为止的精彩回答!我总是对 Stack Overflow 印象深刻......

我想我应该更多关注的一件事不一定是原始速度(这可以进行原型(prototype)设计和基准测试)。让我更关心的一件事是垃圾收集器的非确定性行为。此应用程序在执行垃圾收集时不能容忍 500 毫秒的延迟。

我完全赞成在纯 C# 中进行编码和尝试,但是如果我提前知道 GC 和任何其他非确定性 .NET 行为(?)会导致问题,我认为我的时间最好花在编码上C/C++ 并找出最好的 C# 接口(interface)。

最佳答案

关于c# - 快速的 C++ 程序,C# GUI,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1247968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com