gcc
и g++
драйверы компилятора Компилятора GNU Набор (который был когда-то давно просто компилятором C GNU ).
Даже при том, что они автоматически определяют, какие бэкенды (cc1
cc1plus
...) для вызова в зависимости от типа файла, если не переопределено с -x language
, у них есть некоторые различия.
, вероятно, наиболее важное различие в их значениях по умолчанию - против каких библиотек они связываются автоматически.
Согласно онлайн-документации GCC опции и ссылки, как g ++ вызывается , g++
, эквивалентны gcc -xc++ -lstdc++ -shared-libgcc
(1-м является параметр компилятора, 2-е два являются опциями компоновщика). Это может быть проверено путем выполнения обоих с -v
опция (она отображает выполняемые команды набора инструментальных средств бэкенда).
Ответ 2009 г .: Эквивалент log4j для платформы .NET - log4net , и я предполагаю, что он широко используется.
Ответ 2019 г .: Вот различные альтернативы из https://github.com/quozd/awesome-dotnet/blob/master/README.md#logging :
Мы используем наши собственные классы ведения журнала, реализованные путем вызова log4net . Это позволяет нам воспользоваться преимуществами этой гибкой и широко используемой структуры, избегая при этом тысяч прямых ссылок на нее в исходном коде.
log4net почти наверняка является наиболее распространенным.
Но я использую Common.Logging - http://netcommon.sourceforge.net/ , поскольку он дает мне гибкость
Существуют различные логи реализации для .NET в настоящее время в использование, log4net, корпоративная библиотека Ведение журнала, NLog, чтобы назвать наиболее популярный. Обратная сторона наличия Другая реализация заключается в том, что у них нет общего интерфейса и поэтому навязывают особый реализация логирования пользователей ваша библиотека.
Библиотека Common.Logging представляет простая абстракция, позволяющая выберите конкретную запись реализация во время выполнения. Таким образом, вы может отложить решение, что именно библиотека журналов для использования до развертывание. Адаптеры используются для подключение определенной системы регистрации в Common.Logging.
Я много лет успешно использую NLog, и это очень хорошо сделанный проект.
Корпоративная библиотека. Он надежен и поставляется прямо от Microsoft со всеми их передовыми практиками. Мы используем его во всех наших проектах. Он очень гибкий, и есть инструмент пользовательского интерфейса, который вы можете использовать, если не хотите возиться с управлением журналированием из файла конфигурации.
Люди широко использовали Корпоративную библиотеку . Но может быть правда, что в наши дни разработчики переходят на другие продукты.
Я бы проверил его и посмотрел, есть ли у него необходимая функциональность, которая вам нужна, и не слишком ли много раздутий.