如何确定使用哪种平台或编程语言来构建特定的Windows桌面应用程序?
Dependency walker也可以通过显示应用程序所依赖的所有dll以及导出方法的名称来解释一些问题。
对于特定情况,有一些选项,但总的来说,没有,没有一种单一可靠的方法可以做到这一点。
来自SysInternals的ProcessExplorer非常有用。它可以检测.NET应用程序,并列出加载的DLL,如果其中一些是对语言或框架的运行时支持,则可以提供帮助。
我碰巧安装了诺基亚PC套件,ProcessExplorer说它不是.NET应用程序。它已经加载了MFC71U.DLL和MSVCR71.DLL,I believe来自MFC - 当然诺基亚PC套件可能只是使用用MFC编写的组件。 EXE中还有一些字符串,看起来像C printf字符串给我。
有一些方法可以将列表缩小到使用哪种语言,但是你无法知道所有的“方法”。如果在不同平台上有许多开发人员呢? ;)
或者更好的是应用程序是语言的组合?
我想知道为自然language identification和authorship identification开发的技术是否可以适应这个问题。在我看来,这是一个有趣的研究问题。
有点similar question已经提出。