【发布时间】:2013-02-27 16:33:43
【问题描述】:
我必须开发一个测试应用程序来测试图形驱动程序的一些功能。 通过利用微软公开的标准,如 DXVAHD.h、DXVA2Api.h (Directshow) 和其他微软 API。 由于与 C++ 相比,C# 中的编码非常容易,为什么我们不能使用 C# 来代替。 是不是因为,我们不能在C#中使用头文件(因为有包的概念)?
在系统级编程方面,谁能告诉我为什么人们更喜欢 C、C++ 而不是 C#。 ?任何链接或学习材料 W.R.T.这些将不胜感激。
提前致谢。
【问题讨论】:
-
闻起来像题外话。
-
指针...你通过引用内存而不是复制对象来传递对象
-
简短回答:C# 被编译为托管字节码,它在运行“虚拟机”的字节码之上运行。驱动程序需要直接在真正的 CPU 上操作东西,并且对他们需要做的事情拥有非托管的内存访问权限。
-
答案是abstraction。抽象让事情变得更容易做,但同时也让访问更底层的东西变得更加困难。
-
@VladL 2008 年的问题不一定代表当前的审核政策。 SO 的“章程”的一部分与公告板/论坛相反,这就是为什么我觉得天生的主观问题应该更加努力来证明它们的存在。这个真的没有,它的核心是“用于系统级编程的 C++ 与 C#,讨论”。 “系统级编程”一开始是一个模糊的术语,这无济于事,而且这个 OP 并没有真正澄清它。
标签: c# c++ c operating-system