【问题标题】:what is windows programming from C++, C# and Java perspective? [closed]从 C++、C# 和 Java 的角度来看,什么是 Windows 编程? [关闭]
【发布时间】:2013-08-12 01:35:22
【问题描述】:

我现在正在学习 MFC。我在所有书籍中都读过一个术语:“Windows 编程”。我的意思是“Windows 编程”这个术语是什么意思?我使用 C# 完成的简单 Windows 窗体应用程序也是 Windows 程序吗?如果是这样,那么 C++ windows 程序和 C# windows 程序有什么区别。我还听说过一个术语“本机 C++ 代码”。什么意思?

现在是下一个,假设无论如何 C# 和 C++ 都可以用来创建与 Win32API 通信的 windows 程序。但是Java应用程序呢?我看过java代码被转换为字节码。所以它们首先被编译然后转换为字节码。在哪个阶段以及它如何与 Win32API 通信?

【问题讨论】:

  • 我认为术语“Windows 编程”与在 Windows 平台上开发程序有关,但更重要的是,它涉及针对本机 Windows 库的编码。 Java 使用本机绑定与底层操作系统对话。与操作系统的交互是通过 Java 接口完成的,以便在跨平台工作时标准化 API
  • 大概应该迁移到Programmers.SE

标签: c# java winapi mfc


【解决方案1】:

“Windows 编程”是针对 Windows 操作系统的编程。它是与 Windows 平台上的编程相关的任何事物的总称。

C++ Windows 程序 == C# Windows 程序...只是不同的语言。 “Windows 程序”是在 Windows 上运行的程序。就是这样。

“本机代码”是指任何非托管语言。托管语言包括任何 .NET 语言(C#、VB.NET 等)和在 JVM 上运行的任何东西(例如 Java)。这是因为它们由运行时管理(.NET 的 CLR,Java 的 JVM)。

至于Java如何与Win32通信..它无疑与其他语言相同(我不是Java开发人员,所以不是专家),但是它通常涉及加载各种本机windows DLL和调用其中的方法他们。

【讨论】:

  • “至于 Java 是如何与 Win32 通信的……”——实际上,并不是这样的……
  • @StephenC 我对 JVM 的工作原理不太权威:/
  • “Windows 编程”一词有多种使用方式,因此您必须向使用它的人询问定义。此外,问题是关于“本机 C++”,而不是本机代码。此外,并非所有非本地 DLL 都包含托管语言,许多非本地 DLL 都是 ActiveX DLL。
猜你喜欢
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
相关资源
最近更新 更多