как создавать программы на C ++ без необходимости запуска .net framework (например, ccleaner и utorrent) - PullRequest
7 голосов
/ 26 сентября 2010

Мне было интересно, как создаются такие программы, как ccleaner и utorrent? AFAIK они написаны на C ++, но они работают без необходимости .net Framework и, очевидно, работают на Windows 98. Как это может быть сделано? Visual c ++ требует установки .net framework для запуска двоичного файла.

Несмотря на то, что .net Framework бесплатен, он может быть хлопотным и, вероятно, отвлечет многих пользователей, поскольку установка занимает 20 МБ и устанавливает несколько файлов / записей реестра.

Ответы [ 5 ]

16 голосов
/ 26 сентября 2010

Visual c ++ требует .net Framework для быть установлен для запуска двоичного файла.

Нет, это не так. На самом деле, C ++ и .NET Framework сильно не связаны. Платформа .NET нужна только в том случае, если ваше приложение написано на C ++ / CLI, что далеко от обычного C ++.

Если вы разрабатываете приложение на стандартном C ++, вам не нужен .NET Framework, а только среда выполнения, поставляемая с вашим набором инструментов (Visual C ++, mingw и т. Д.). В некоторых случаях вы также можете статически ссылаться на среду выполнения, поэтому вам даже не нужно распространять библиотеки DLL и т. Д.

Что касается создания графических интерфейсов в обычном C ++, существуют наборы инструментов. Microsoft предлагает простой API Windows, MFC, WTL , и есть продукты сторонних производителей, такие как Qt или wxWidgets

4 голосов
/ 26 сентября 2010

Создать собственный проект C ++, без использования CLI. В мастере приложений VC ++ вы можете выбрать любой тип, кроме CLI.

Собственный проект C ++ имеет свои собственные требования времени выполнения: время выполнения C / C ++, время выполнения MFC (если используется MFC), но .NET Framework не требуется.

3 голосов
/ 26 сентября 2010

При создании проекта настройте его как проект Win32, а не как проект CLR.Это обеспечит компиляцию в соответствии со стандартом C ++, а не с управляемым вариантом C ++, используемым для .Net.

2 голосов
/ 26 сентября 2010

Важно понимать разницу между собственным и управляемым кодом в Windows. Существует базовое обсуждение этой темы по SO здесь и более глубокое погружение от сотрудника Microsoft здесь .

Ваша обеспокоенность по поводу зависимости от .Net Framework может быть устаревшей - на новых ПК она будет установлена ​​по умолчанию, поскольку Vista и Windows 7 включают ее, а на многих более старых она будет установлена ​​из-за существующих приложений .Net или через Автоматическое обновление от Microsoft - здесь есть информация об относительном уровне проникновения .Net версии здесь .

Тем не менее, я бы не стал выбирать C ++ / CLI, если у вас нет требований к взаимодействию с собственным / управляемым кодом - используйте C ++ для собственного и C # для управляемого кода.

1 голос
/ 29 ноября 2010

По моему мнению .NET Framework дает вам только высокую скорость производства, в противном случае я ненавижу это.

Используйте .Net, когда:

1 - вы хотите скорость производства

2- Вы уже программируете с командой, которая использует .Net

3 - Вам нужна переносимость (только между окнами и поддерживающими системами)

Используйте обычное / родное программирование на win32, когда:

1 - хочет больше свободы

2 - хочет больше контроля над системой и программой, которую вы пишете

3 - имеет избыточное время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...