有沒有像.dll或.so,但跨平臺?是否有像.dll或.so這樣的東西,但跨平臺?
回答
你不清楚你在問什麼,但是如果你問「如何以跨平臺的方式製作動態加載的C/C++庫」,那麼答案是GNU Libtool。它支持構建和使用它們,以及運行時支持功能
不適用於c/C++ AFAIK,java具有類似於.jar的文件。
Java .class文件和.jar壓縮文件將滿足這一要求,在.mon程序集下運行。
他們並沒有真正滿足多種原因的要求 - 他不問是否有語言的編譯單元是體系結構和供應商獨立:/你不應該在沒有免責聲明的情況下陳述如此大膽的總數。 – 2010-01-25 22:45:30
這個問題說「有什麼東西像......」。我認爲上面的「要求」很適合。我不是在談論上面的語言。我在談論平臺(JVM或.Net) – 2010-01-25 23:02:14
通用可執行格式?這是虛擬機(java)或IL(.Net)存在的全部原因 - 因此可以將相同的源代碼編譯爲通用中間語言,然後可以由框架在底層系統字節碼,程序員不必知道系統之間的差異。
實際上,虛擬機必須在所有平臺上始終如一地實施。
正如其他人所說的,並不是真的。也許LLVM有一天會填補這個空白,讓我們可以看到LLVM的等價物,因爲我們做靜態/動態對象庫。
請看this reply,這是爲什麼靜態對象庫通常不可移植的一些原因。我通常會說,因爲有時候 - 如果操作系統供應商保持足夠的話 - 有可能 - 比如freebsd執行linux二進制文件,或WINE執行大部分win32運行時。
二進制對象文件幾乎總是綁定到特定的平臺。正如其他人已經說過的,最接近平臺獨立性的目標文件格式可能是.NET/Mono程序集和Java字節碼。
也就是說,如果你想要真實平臺獨立性,你可能最好的源代碼(如果這是一個選項)。我知道這不是你想問的,但考慮到如今你可以在大多數機器上編譯C++程序(例如使用GNU編譯器集合),如果你的C++代碼本身是平臺不可知的。
- 1. 當用UINavigationController返回時,是否有像prepareForSegue這樣的東西?
- 2. 是否有像Project Sprouts這樣的東西,但在Python中實現?
- 3. 在PlayN中,是否有像最大整數值這樣的跨平臺常量?
- 4. 像CHESS這樣的東西是否存在於Java中?
- 5. 東西像FindBugs這樣的.NET/C#
- 6. Android中是否有像Asp.net中的appSettings一樣的東西?
- 7. Android中有沒有像DLL這樣的概念的DLL或DLL?
- 8. 有沒有Perabyte這樣的東西?
- 9. 在java中是否有像malloc/free一樣的東西?
- 10. Rails是否有像Django Rest Framework一樣的東西?
- 11. 在C#中,C++是否有像List <string>這樣的東西?
- 12. 像Dictionary這樣的東西,但可以存儲多個值?
- 13. 有沒有像ISerializable這樣的適用於XMLSerializer的東西?
- 14. Verilog沒有main()這樣的東西?
- 15. .NET中有MessageQueueWatcher這樣的東西嗎?
- 16. C是否有跨平臺框架?
- 17. Grails在Rails中有沒有像acts_as_tree這樣的東西?
- 18. NEON有沒有像「emms」這樣的東西?
- 19. 有沒有像CURLOPT_CONNECTIONTIMEOUT這樣的東西存在?
- 20. 有沒有像SMTP到FTP網關這樣的東西?
- 21. 有沒有像緩存grep這樣的東西?
- 22. Eshell - 有沒有像open-eshell這樣的東西?
- 23. VSCode是否有像Sublime Text控制檯這樣的控制檯?
- 24. 像CPAN這樣最接近的東西,但是對於Groovy來說呢?
- 25. 還有像Unity Everyplay這樣的其他東西嗎?
- 26. Xamarin表單:是否有像iOS UICollectionView這樣的跨平臺Xamarin的類似組件?
- 27. 有MongoDB的東西像Heidisql或phpmyadmin?
- 28. 在Opengl中,近平面和鏡像平面是一樣的東西嗎?
- 29. 是這個htacces或其他東西
- 30. 有沒有像protoc,但跨平臺編譯器
我不是說二進制兼容性 – SomeUser 2010-01-25 22:45:35
好吧,DLL和SO的剛性本質(二進制兼容性)是導致它們具有強大的語義和很大的弱點的原因。你究竟想問什麼? – 2010-01-25 22:50:29
我的意思是:爲每個平臺編寫程序和每個dll編譯器 – SomeUser 2010-01-25 23:00:20