Что можно сделать в VC ++ (нативном), что нельзя сделать с помощью VC #? - PullRequest
9 голосов
/ 16 апреля 2009

Что можно сделать в VC ++ (нативном), что нельзя сделать с помощью VC #?

Из того, что я могу сказать, единственное, для чего стоит использовать нативный VC ++, - это когда вам нужно управлять памятью самостоятельно, а не сборщиком мусора CLR, чего я и не видел в этом (но это другой вопрос спросил позже).

Ответы [ 14 ]

1 голос
/ 16 апреля 2009

Является ли C # в частности и .NET в целом самокомпилирующимся (это не тролль, я искренне не знаю)? Если нет, вы можете использовать VC ++ для написания C # и .NET, но вы не можете использовать C # для выполнения той же работы.

0 голосов
/ 17 апреля 2009

Использование инструкций SSE является одним из таких случаев. Некоторые среды выполнения .NET будут использовать некоторые инструкции SSE, в зависимости от вашего кода. Но в VC ++ вы можете использовать встроенные функции SSE напрямую. Так что, если вы пишете мультимедийный код, вы, вероятно, захотите C ++. (C ++ / CLI может также работать, предположительно)

0 голосов
/ 17 апреля 2009

Основное отличие:

  • C ++ - это основной язык, с помощью которого вы можете создавать автономные программы. Эти Программы взаимодействуют напрямую с операционной системой и ничем иным. Компиляторы C ++ существуют для более или менее всех платформ (операционных систем).

  • C # - это язык, который соответствует CLS. Программа, написанная на C #, не может запускаться без движка CLI (.NET Framework, Mono и т. Д.). Программа, написанная на C #, взаимодействует с платформой .NET И с операционной системой. У тебя мужчина посередине. Как и все обслуживающие лица, этот человек может помочь, но это вызовет дополнительные проблемы. Если вы хотите портировать, у вас есть другой человек посередине и т. Д. Реализации CLI не существуют для всех платформ.

По моему мнению, каждый дополнительный фреймворк является дополнительным источником проблем.

0 голосов
/ 16 апреля 2009

Например, имеет смысл использовать C ++, если переводить заголовочные файлы для существующих библиотек сложнее, чем отказаться от существующих управляемых библиотек.

...