В чем разница между файлом .exe, созданным при компиляции программы c, и файлом .exe, созданным при компиляции программы vb

в чем разница между файлом .exe, созданным при компиляции программы c, и файлом .exe, созданным при компиляции программы vb. Какой файл .exe не зависит от платформы (если платформа .NET)?


person Dhaval    schedule 01.12.2013    source источник
comment
Он компилируется в виде промежуточного языка IL в VB.NET. .c записывается в исполняемый файл, который тонирует и машинный язык родной. Однако исходный код c as .cpp(C++) выводится как IL, если программа является чистой option(/clr:pure).   -  person BLUEPIXY    schedule 01.12.2013
comment
VB.NET довольно хорошо справляется с независимостью от платформы. Но, конечно, никогда нельзя скрывать целевую реализацию. Вам вряд ли пригодится приложение консольного режима на XBox, плагине для Safari или телефоне. Забота о переносимости — причудливый пережиток времен Unix-войн.   -  person Hans Passant    schedule 01.12.2013


Ответы (1)


Программный файл C в основном компилируется в собственный машинный код и зависит от платформы. Однако VB.NET компилируется в код .NET MSIL, который затем может выполняться на виртуальной машине .NET.

При этом вы можете написать свой собственный компилятор для C, который компилируется в MSIL, или посмотреть на C++/CLR.

person Aniket Inge    schedule 01.12.2013
comment
Кроме того, VB.NET требует установки .Net Framework на клиентском компьютере. В настоящее время .Net Framework поставляется со многими последними окнами. - person NoChance; 01.12.2013
comment
Да, это правда @EmmadKareem - например, Java не зависит от платформы, но для ее запуска все же требуется, чтобы у вас была установлена ​​JVM. Это цена независимости от платформы. - person Aniket Inge; 01.12.2013
comment
И на тот случай, если @DhavalShah имел в виду C# вместо C, C# компилируется так же, как VB — в .Net MSIL. - person Chris Dunaway; 03.12.2013