如果源代碼不可用,是否有方法可以確定.NET程序集的原始語言?是否有可能確定.NET程序集編寫的語言?
回答
不是真的,但你有時可以猜測。
例如,如果你有一個包含匿名類型的一個VB.NET組件,在組件中的編譯器生成的名字會是這個樣子:
VB$AnonymousType_T<T0, T1>
匿名類型在C#程序集是這樣的:
<>f__AnonymousType0<....>
不同的編譯器會實現這些稍微不同的事情。 C++/CLI程序集通常在程序集中使用「有趣」名稱(例如屬於全局作用域等的函數)中有很多類型。
Visual Basic應用程序還引用Microsoft.VisualBase組件(儘管任何.NET應用程序可以在技術上引用任何組件,所以這不是100%的指示符)。
我應該提到匿名類型的命名(等等)是一個實現細節,並且可能會在更高版本的編譯器中進行更改(s )... – 2010-08-05 01:27:49
它會出現你是最正確的。這篇相關的文章包含了更多的啓發式方法,但從根本上說,它可以歸結爲「猜測」。謝謝。 http://stackoverflow.com/questions/579636/is-it-possible-to-determine-in-which-language-a-net-assembly-was-written-ex-post – kbrimington 2011-02-01 13:55:16
您可以通過查看它引用的組件來猜測。例如,如果您看到Microsoft.CSharp
或Microsoft.VisualBasic
之一,那可能會給您一個很大的提示。
不是真的,因爲它們都大致編譯爲相同的IL。
- 1. 是否有可能確定.NET程序集事後寫入哪種語言?
- 2. 是否有Golang終端外殼?編譯語言是否可能?
- 3. 是否可以使用三種編程語言編寫一個程序?
- 4. 這種語言是否可確定
- 5. 確定用於創建程序集的語言和編譯器?
- 6. .NET編程語言
- 7. 是否有可能確定程序集是否在Web服務中加載?
- 8. 標準來確定它是否是一個編程語言
- 9. 確定是否矩陣是在R編程語言
- 10. 是否有可能從vbscript執行.NET程序集(dll)?
- 11. 是否有可能在腳本語言中管道.NET方法
- 12. 編寫的編程語言
- 13. CGI應用程序是否有優選的編程語言?
- 14. 是否有可能將.NET字節碼編譯爲機器語言?
- 15. 從彙編語言編寫C程序
- 16. C編程語言,編寫有用的程序
- 17. 是否有編寫PLT計劃的自定義語言模塊的好教程?
- 18. 是否有可能在使用不同語言編寫的程序之間建立tcp ip
- 19. 是否有可用的編程語言列表?
- 20. D編程語言是否有GNU Make-type程序?
- 21. 如何以編程方式確定.NET程序集是否安裝在GAC中?
- 22. 是否有可能在C#中爲Android編寫應用程序?
- 23. 是否有可能用python編寫閉源android程序?
- 24. 是否有可能在非CLR程序中使用.NET程序集?
- 25. .Net TimeZoneInfo ID - Windows語言是否特定?
- 26. 是否有可能擁有多種語言的Facebook應用程序?
- 27. 是否有用Io編程語言編寫的應用程序? (或者,分發Io應用程序。)
- 28. 是否有可能在.Net 3.5(C#)中編寫Excel 2003插件
- 29. 可能弄清楚dll或exe編寫的編程語言是什麼?
- 30. 是否有可能在C#中編寫代碼並使用Script#在.NET程序集和JavaScript之間共享它?
這是你需要做的一次性事情還是你需要一種算法來確定給定程序集的語言? – 2010-08-05 01:18:23
@ Igor-Zevaka:我正在尋找可重複的東西,可能是通過反思,我可以用它來生成指標。的 – kbrimington 2010-08-05 02:03:22
可能重複[是否有可能以確定哪種語言.NET程序集寫事後?](http://stackoverflow.com/questions/579636/is-it-possible-to-determine-in-which -language-a-net-assembly-was-written-ex-pos) – 2013-05-13 18:09:34