Консольное приложение Win32 по сравнению с Консольным приложением CLR

Функции JavaScript не допускают приостановки. С синхронными Javascript-процедурами реализованы. Процедуры ожидают операций ввода-вывода и времени ожидания. Доступно для JavaScript 1.7.

демо: демо сон демо приостановка процедуры

21
задан Sam 24 August 2014 в 14:47
поделиться

2 ответа

Итог: если вы никогда не собираетесь использовать CLR или какие-либо объекты .Net в своем приложении, просто используйте обычную библиотеку Win32 C ++. Все остальное вызовет у вас боль в будущем.

Теперь, чтобы ответить на исходный вопрос об отладке, да, отладка с помощью CLR имеет определенные преимущества по сравнению с отладкой обычного приложения C ++. Начиная с Visual Studio 2005, и C #, и VB.Net начали уделять больше внимания тому, чтобы отображать переменные в окне locals / autos / watch гораздо более ценно. В основном это было сделано за счет внедрения атрибутов .Net, таких как DebuggerDisplay, DebuggerTypeProxy и фреймворка визуализатора.

Однако, если вы не используете какие-либо типы .Net, вы не получите ни одного из этих преимуществ.

Оценщик выражений C ++ не использует ни одно из этих преимуществ. Это есть ' Собственные методы настройки отображения типов. Но он не такой функциональный (или потенциально опасный), как стиль атрибута, потому что он не позволяет запускать код в процессе отладки.

Это не значит, что отладка C ++ дает плохие возможности. Он просто другой, и для многих типов контейнеров STL есть лучшие дисплеи.

Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода временами практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «this». Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

s не такой функциональный (или потенциально опасный), как стиль атрибута, потому что он не позволяет запускать код в процессе отладки.

Это не значит, что отладка C ++ дает плохие возможности. Он просто другой, и для многих типов контейнеров STL есть лучшие дисплеи.

Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода временами практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «this». Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

s не такой функциональный (или потенциально опасный), как стиль атрибута, потому что он не позволяет запускать код в процессе отладки.

Это не значит, что отладка C ++ дает плохие возможности. Он просто другой, и для многих типов контейнеров STL есть лучшие дисплеи.

Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода временами практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «this». Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

Он просто другой, и для многих типов контейнеров STL есть лучшие дисплеи.

Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода временами практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «this». Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

Он просто другой, и для многих типов контейнеров STL есть лучшие дисплеи.

Отладка приложения CLR также имеет определенные недостатки. Например, отладка оптимизированного кода временами практически невозможна, потому что JITer будет скрывать локальные переменные, параметры и часто «this». Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

Отладка аналогично сконструированного приложения C ++ также может вызывать разочарование, но вы всегда можете захватить регистры и посмотреть, что происходит. Сделать то же самое для приложения CLR в лучшем случае сложно.

25
ответ дан 29 November 2019 в 21:32
поделиться

Я думаю, что компиляция нативного кода C ++ в CLR открывает целую банку червей. Если у вас нет больших вложений в существующий код C ++ и нет необходимости запускать код с управляемыми типами, этого следует избегать.

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

Итак, в заключение, я бы просто оставил его как родное приложение.

2
ответ дан 29 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: