How to download & install gcc compiler for c in windows pc

Введение

GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.

Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как
C++, Objective-C,
Java, Фортран, Ada, Go, GAS и D.

С версии 4.2.2 GCC перешёл на лицензию GPLv3.

Downloading SDCC

See the
Sourceforge download page for the last released version including source and
binary packages for Linux — x86, Microsoft Windows — x86,
Microsoft Windows — x86_64 and Mac OS X — ppc and i386.

Major Linux distributions take care of SDCC installation packages themselves
and you will find SDCC in their repositories. Unfortunately SDCC packages included
in Linux disributions are often outdated. In this case users are encouraged to compile
the latest official SDCC release or a recent snapshot build by themselves or download
the pre-compiled binaries from

Sourceforge download page.

SDCC is known to compile from the source code also on the following platforms:

  • Linux — x86_64
  • Linux — Alpha
  • Linux — IBM Power5
  • NetBSD — i386
  • NetBSD — Sparc64
  • FreeBSD — i386
  • SUN Solaris — i386
  • SUN Solaris — Sparc
  • Rasbian (Debian for Raspberry Pi) — ARMv6
  • Debian — ARMv7-a

SDCC is always under active development. Please consider
downloading one of the snapshot builds
if you have run across a bug, or if the above release is more than two months old.

The latest development source code can be accessed using Subversion. The following
will fetch the latest sources:

… will create the sdcc directory in your current directory and place all
downloaded code there. You can browse the Subversion repository
here.

Before reporting a bug, please check your SDCC version and build
date using the -v option, and be sure to include the full version string in your bug report. For example:

Средства управления проектами из командной строки

В интегрированной среде разработки Visual Studio используется собственная система сборки проектов на основе MSBuild. Вы можете вызвать MSBuild напрямую или использовать собственную систему сборки проектов без интегрированной среды разработки:

Используйте MSBuild (msbuild.exe) и файл проекта (VCXPROJ) для настройки сборки и косвенного вызова набора инструментов. Это аналогично выполнению команд Собрать проект или Собрать решение в интегрированной среде разработки Visual Studio. Запуск MSBuild из командной строки является усложненным сценарием и обычно не рекомендуется. Начиная с Visual Studio 2019 версии 16.5, MSBuild не использует окружение командной строки для управления набором инструментов и используемыми библиотеками.

Используйте DEVENV (devenv.exe) вместе с параметром командной строки, например или , для выполнения определенных команд сборки без отображения интегрированной среды разработки Visual Studio. В целом это удобнее, чем использовать MSBuild напрямую, так как вы можете позволить Visual Studio обрабатывать сложные аспекты MSBuild. Начиная с Visual Studio 2019 версии 16.5, DEVENV не использует среду командной строки для управления набором инструментов и используемыми библиотеками.

AMD x86 Open64 Compiler Suite

Это версия набора компиляторов Open64 (описанного ниже), которая была настроена для процессоров AMD и имеет дополнительные исправления ошибок. Компилятор C / C++ соответствует стандартам ANSI C99 и ISO C++ 98, поддерживает межъязыковые вызовы (так как он включает в себя компилятор Fortran), 32-битный и 64-битный код x86, векторную и скалярную генерацию кода SSE / SSE2 / SSE3, OpenMP 2.5 для моделей с разделяемой памятью, MPICH2 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной AMD Core Math Library и документацией. Для этого набора компиляторов требуется Linux.

Нам потребуется

1. Естественно нам потребуется сама программа VSCode.
2. В Visual Studio Community должен быть установлен компонент Desktop development with C++:

Чтобы проверить успешную установку, достаточно вызвать Developer Command Prompt for VS 2019 (файл VsDevCmd.bat) из Пуска. Там нужно запустить файл cl.exe. Вывод консоли должен быть без ошибок:

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.9.2
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>cl.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29913 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl  filename... [ /link linkoption... ]

3. Для VSCode должно быть установлено дополнение (расширение) Microsoft C/C++

Расположение командных файлов разработчика

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

Расположение командного файла зависит от установленной версии Visual Studio и расположения, выбранного во время установки. Visual Studio 2019 обычно устанавливается в 64-разрядной системе в папке \Program Files (x86)\Microsoft Visual Studio\2019\выпуск. Выпуском может быть Community, Professional, Enterprise, Build Tools или другой введенный псевдоним.

Расположение командного файла зависит от установленной версии Visual Studio и расположения, выбранного во время установки. Visual Studio 2017 обычно устанавливается в 64-разрядной системе в папке \Program Files (x86)\Microsoft Visual Studio\2017\выпуск. Выпуском может быть Community, Professional, Enterprise, Build Tools или другой введенный псевдоним.

Расположение командного файла зависит от версии Visual Studio и каталога установки. Visual Studio 2015 обычно устанавливается в папке \Program Files (x86)\Microsoft Visual Studio 14.0.

Основной командный файл командной строки разработчика находится в подкаталоге Common7\Tools. Если параметры не указаны, он указывает среде использовать собственные инструменты x86 для создания 32-разрядного кода x86.

Для настройки конкретных архитектур сборки доступны дополнительные командные файлы. Доступные командные файлы зависят от установленных рабочих нагрузок и параметров Visual Studio. Для Visual Studio 2017 и Visual Studio 2019 они будут находиться в подкаталоге VC\Auxiliary\Build.

Для настройки конкретных архитектур сборки доступны дополнительные командные файлы. Доступные командные файлы зависят от установленных рабочих нагрузок и параметров Visual Studio. В Visual Studio 2015 они находятся в подкаталогах VC, VC\bin или VC\bin\архитектура, где архитектура — собственный вариант или кросс-компилятор.

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

Командный файл Узел и целевые архитектуры
Использует 32-разрядные собственные инструменты x86 для сборки 32-разрядного машинного кода x86.
Использует 64-разрядные собственные инструменты x64 для сборки 64-разрядного кода x64.
Использует 32-разрядные собственные инструменты кросс-компиляции x86 для сборки 64-разрядного кода x64.
Использует 64-разрядные собственные инструменты кросс-компиляции x64 для сборки 32-разрядного кода x86.
Использует 32-разрядные собственные инструменты кросс-компиляции x86 для сборки кода ARM.
Использует 64-разрядные собственные инструменты кросс-компиляции x64 для сборки кода ARM.
Использует 32-разрядные собственные инструменты кросс-компиляции x86 для сборки кода ARM64.
Использует 64-разрядные собственные инструменты кросс-компиляции x64 для сборки кода ARM64.
Использует параметры для указания узла и целевой архитектуры, пакета Windows SDK и платформы. Список поддерживаемых вариантов можно вызвать параметром .

Внимание!

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

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

News

Mar 8th, 2021: SDCC 4.1.0 released.

A new release of SDCC, the portable optimizing compiler for 8051, DS390, Z80, Z180, Rabbit 2000, GBZ80, eZ80, TLCS-90,
HC08, STM8, Padauk and PIC microprocessors is now available
(http://sdcc.sourceforge.net).
Sources, documentation and binaries for GNU/Linux amd64, Windows amd64, macOS amd64 and Windows x86 are available.

SDCC 4.1.0 New Feature List:

  • New z80n port for the Spectrum Next CPU (a Z80 variant).
  • Much better register allocation in the gbz80 backend.
  • Workarounds for Rabbit wait state bugs in the r2k backend.
  • New r2ka port to better support Rabbit 2000A, 2000B, 2000C, 3000.
  • Default crt0 and —data-loc for Rabbits suitable for typical Rabbit hardware configurations, such as the RCMs.
  • Many improvements in code generation for z80 and related ports.
  • Rabbit register definition headers for Rabbit 2000, 2000A, 2000B, 2000C, 3000, 3000A.
  • C23 digit separators.

Numerous other new features and bug fixes are included as well.

You can download the release from:https://sourceforge.net/projects/sdcc/files/

3 – NetBeans

Хотя NetBeans славится разработкой на Java, это также одна из лучших сред разработки на C++ как для Windows, так и для Mac с Linux.

У NetBeans также есть много готовых шаблонных проектов для C и C++, которые можно использовать в качестве основы для ваших приложений. NetBeans был написан с использованием Java, он также может быть использован для проектов PHP и HTML5. Идеально подходит для начинающих, но и опытные программисты часто используют его.

Плюсы NetBeans:

  • это ПО о открытым исходным кодом;
  • разработан и поддерживается компанией Oracle;
  • мультиплатформенная поддержка;
  • поддержка визуализированного создания  GUI-имнтерфейсов;
  • простота установки и использования;
  • поддержка Qt Toolkit;
  • поддержка удаленного развития;
  • легкая файловая навигация.

Подробнее можно узнать здесь.

Linux 32 and 64-bit

Distro File Download from
codeblocks_20.03_amd64_oldstable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_i386_oldstable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_amd64_stable.tar.xz FossHUB or Sourceforge.net
codeblocks_20.03_i386_stable.tar.xz FossHUB or Sourceforge.net
codeblocks-20.03-1.el6.rmps.tar FossHUB or Sourceforge.net
codeblocks-20.03-1.el7.rmps.tar FossHUB or Sourceforge.net
For Ubuntu, use this PPA

Note: The Linux packages above are compressed archives (tar, tar.xz or tar.bz2). When you decompress the package you downloaded on your system, you will find all the .rpm or .deb packages required to install Code::Blocks.

Note: On RedHat/CentOS older revisions of 6 (up to 6.2 as far as we know) you need to add repoforge (former rpmforge) to your repolist, to be able to install the needed wxGTK-package. See http://repoforge.org/use for an instruction.

Note: Redhat/CentOS probably also needs an installed hunspell-package, if you want to install the contrib-plugins.

Who is SDCC?

  • Sandeep Dutta <sandeep.AT.users.sourceforge.net> — original author (SDCC’s version of Torvalds)
  • Jean Loius-VERN <jlvern.AT.writeme.com> — substantial improvement in the back-end code generation.
  • Daniel Drotos <drdani.AT.mazsola.iit.uni-miskolc.hu> — Freeware simulator for 8051.
  • Kevin Vigor <kevin.AT.vigor.nu> — numerous enhancements and bug fixes to the Dallas ds390 tree.
  • Johan Knol <johan.knol.AT.users.sourceforge.net> — testing and patching ds390 tree, bug stompper extrodanaire
  • Scott Dattalo <scott.AT.dattalo.com> — sdcc for Microchip PIC controller target
  • Karl Bongers <karl.AT.turbobit.com> — mcs51 support, winbin builds, and an occasional bug.
  • Bernhard Held <bernhard.AT.bernhardheld.de> — snpshot builds and general housekeeping
  • Frieder Ferlemann <Frieder.Ferlemann.AT.web.de> — contributions to the documentation and last stages
    of code generation
  • Jesus Calvino-Fraga <jesusc.AT.ece.ubc.ca> — math functions, AOMF51, linker improvements
  • Borut Ražem <borut.razem.AT.gmail.com> — WIN32 MSC, cygwin and mingw ports, NSIS installer,
    preprocessor and front end improvements, bug fixing, snapshot builds on Distibuted Compile Farm, …
  • Vangelis Rokas <vrokas.AT.otenet.gr> — PIC16 taget development for Microchip PIC18F microcontrollers
  • Erik Petrich <epetrich.AT.users.sourceforge.net> — Bug fixes and improvements for the front end,
    8051, z80 and hc08
  • Dave Helton <dave.AT.kd0yu.com> — website design
  • Paul Stoffregen <paul.AT.pjrc.com> — mcs51 optimizations and website maintenance.
  • Michael Hope <michaelh.AT.juju.net.nz> — initial Z80 target, additional coding and bug fixes.
  • Maarten Brock <sourceforge.brock.AT.dse.nl> — several bug fixes and improvements, esp. for mcs51 target
  • Raphael Neider <RNeider.AT.web.de> — bug fixes and optimizations for PIC16, completion of the PIC14 target
  • Philipp Klaus Krause <pkk.AT.spth.de> — work on the STM8,Z80,Z180,Rabbit,GBZ80,TLCS-90 backends, compiler research
  • Leland Morrison <enigmalee.AT.sourceforget.net> — Rabbit 2000 support: the target code generator,
    sdasrab assembler and ucsim support
  • Molnár Károly <molnarkaroly.AT.users.sf.net> — adding pic devices, developing and maintaining pic device files
    generation scripts
  • Ben Shi <powerstudio1st.AT.163.com> — the front-end, the STM8 back-end, and the MCS-51 back-end maintain

SDCC has had help from a number of external sources, including:

  • Alan Baldwin <baldwin.AT.shop-pdp.kent.edu> — Initial version of ASXXXX  and  ASLINK.
  • John Hartman <noice.AT.noicedebugger.com> — Porting ASXXXX and ASLINK for 8051.
  • Dmitry S. Obukhov <dso.AT.usa.net> — malloc and serial I/O routines.
  • Pascal Felber — Some of the Z80 related files are borrowed from the Gameboy Development Kit (GBDK).
  • The GCC development team — for GNU C preprocessor,
    the basis of sdcpp preprocessor and gcc test suite, partially included into the SDCC regression test suite
  • The GNU Binutils development team — for GNU Binutils,
    the basis of sdbinutils
  • Boost Community — for Boost C++ libraries used in sdcc compiler
  • Timo Bingmann — for STX B+ Tree C++ Template Classes
    used in sdcc compiler
  • Malini Dutta <malini.AT.mediaone.net> — Sandeep’s wife, for her patience and support.

Project Rider

Описание: среда от JetBrains для работы с платформой .NET. Выпущена в прошлом году, но уже приобрела много поклонников.

Плюсы:

  • ReSharper. Это плагин, изначально разработанный для повышения производительности Visual Studio. Теперь на его основе выпущена IDE.
  • Поддержка полного цикла. Фирменная черта продуктов JetBrains, воплощенная и в Project Rider. С ним вы сможете организовать весь цикл создания ПО: от идеи до поддержки.
  • Функциональность. Project Rider позволяет подключить MSBuild и XBuild, работать с CLI-проектами и организовать отладку приложений .NET and Mono. Множество опций для быстрого создания кода улучшает производительность.
  • Multiple runtime. Поддержка нескольких запущенных программ.
  • Кроссплатформенность. Project Rider работает с Windows, Linux и MacOS.
  • Контроль версий. Встроенный инструмент позволяет напрямую организовать работу с Git, Mercurial и TFS.

Минусы:

  • Молодость. Часть функциональности еще в разработке, не все стартовые баги исправлены.
  • Стоимость. Самая дешевая версия Project Rider обойдется в 139 долларов за первый год использования. Но есть триал-версия и специальные предложения для студентов и непрофильных организаций.    

Microsoft Windows

File Download from
codeblocks-20.03-setup.exe FossHUB or Sourceforge.net
codeblocks-20.03-setup-nonadmin.exe FossHUB or Sourceforge.net
codeblocks-20.03-nosetup.zip FossHUB or Sourceforge.net
codeblocks-20.03mingw-setup.exe FossHUB or Sourceforge.net
codeblocks-20.03mingw-nosetup.zip FossHUB or Sourceforge.net
codeblocks-20.03-32bit-setup.exe FossHUB or Sourceforge.net
codeblocks-20.03-32bit-setup-nonadmin.exe FossHUB or Sourceforge.net
codeblocks-20.03-32bit-nosetup.zip FossHUB or Sourceforge.net
codeblocks-20.03mingw-32bit-setup.exe FossHUB or Sourceforge.net
codeblocks-20.03mingw-32bit-nosetup.zip FossHUB or Sourceforge.net

NOTE: The codeblocks-20.03-setup.exe file includes Code::Blocks with all plugins. The codeblocks-20.03-setup-nonadmin.exe file is provided for convenience to users that do not have administrator rights on their machine(s).

NOTE: The codeblocks-20.03mingw-setup.exe file includes additionally the GCC/G++/GFortran compiler and GDB debugger from MinGW-W64 project (version 8.1.0, 32/64 bit, SEH).

NOTE: The codeblocks-20.03(mingw)-nosetup.zip files are provided for convenience to users that are allergic against installers. However, it will not allow to select plugins / features to install (it includes everything) and not create any menu shortcuts. For the “installation” you are on your own.

If unsure, please use codeblocks-20.03mingw-setup.exe!

Следующие шаги

Этот пример «Hello, World» является самой простой программой C++. Реальные программы обычно имеют файлы заголовков, дополнительные исходные файлы и ссылки на библиотеки.

Вы можете использовать шаги, описанные в этом пошаговом руководстве по C++, для создания собственного кода, чтобы не вводить приведенный пример. Эти шаги также позволяют собрать множество примеров кода C++, которые можно найти в других местах. Вы можете разместить исходный код и собрать приложения в любом доступном для записи каталоге. По умолчанию интегрированная среда разработки Visual Studio создает проекты в папке пользователя во вложенной папке source\repos. Более старые версии могут помещать проекты в папку Документы\Visual Studio <version>\ Проекты*.

Чтобы скомпилировать программу с дополнительными файлами исходного кода, введите их все в командной строке, например:

Параметр командной строки указывает компилятору на необходимость стандартной обработки исключений C++. В противном случае созданные исключения могут привести к неуничтоженным объектам и утечкам ресурсов. Дополнительные сведения см. в статье /EH (модель обработки исключений).

При указании дополнительных исходных файлов компилятор использует первый входной файл для создания имени программы. В этом случае выводится программа с именем file1.exe. Чтобы изменить имя на program1.exe, добавьте параметр компоновщика /out:

Чтобы автоматически перехватывать другие ошибки программирования, рекомендуется выполнить компиляцию с помощью порога предупреждений /W3 или /W4:

В компиляторе cl.exe есть множество дополнительных параметров. Их можно применять для создания, оптимизации, отладки и анализа кода. Чтобы просмотреть краткий список, введите в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах и использовании компилятора и компоновщика см. в справочнике по сборке для C/C++.

Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile, MSBuild и файл проекта или CMake. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE, MSBuild и Проекты CMake в Visual Studio.

Языки C и C++ похожи, но имеют различия. Компилятор MSVC использует простое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает файлы с расширением как исходные файлы на языке С, а файлы с расширением  — как исходные файлы на языке С++. Если указан параметр компилятора /TP, компилятор будет рассматривать все файлы как исходные файлы на языке С++ вне зависимости от расширения.

Компилятор MSVC содержит библиотеку времени выполнения C (CRT), которая соответствует стандарту ISO C99 с небольшими исключениями. Переносимый код обычно компилируется и выполняется, как ожидалось. Некоторые устаревшие функции библиотеки и несколько имен функций POSIX не рекомендуется использовать в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.

Architecture of the compiler

Part 1: Parsing, type-checking, and pre-simplifications.
This first part converts C source code into abstract syntax trees of the CompCert C language. Some constructs not natively supported by CompCert C are expanded away. For example, block-scoped local variables are renamed and lifted to function-local scope; and bit fields are emulated in terms of bit-level operations.
Some other unsupported constructs, such as variable-arity function declarations, are rejected.

This part of CompCert (transformation of C source text to CompCert C
abstract syntax trees) is not formally verified. However, CompCert C is a
subset of C, and the compiler can output the generated
CompCert C code in C concrete syntax (flag ),
therefore the result of this transformation can be manually inspected.
Moreover, most static analysis and program verification tools for C
operate on a simplified C language similar to CompCert C. By conducting
the analysis or the program verification directly on the CompCert C form,
bugs potentially introduced by this first part of the compiler can be
detected.

Part 2: Compilation of CompCert C AST to assembly AST.
This part is the bulk of the compiler and the one that is proved
correct in Coq. It is structured in 16 passes and uses 10 intermediate
language, as depicted on the following diagram.

All intermediate languages are given formal semantics, and each of the
transformation passes is proved to preserve semantics.

Part 3: Assembling and linking.
The abstract syntax tree for PowerPC or ARM or RISC-V or x86 assembly language
produced by part 2 is printed in concrete assembly syntax. The
system’s assembler and linker are then called to produce object files
and executable files, respectively. This part is not yet formally
verified. A benefit of using the standard assembler and linker is
that object files produced by CompCert can be linked with existing
libraries compiled with . This is convenient for
testing, although the formal guarantees of semantic preservation apply
only to whole programs that have been compiled as a whole by CompCert
C.

Code::Blocks

Описание: среда разработки, известная простой и удобством в настройке и использовании.

Плюсы:

  • Бесплатность. Полноценный open-source проект.
  • Простота. В отличие от Visual Studio, среда Code::Blocks понятна новичку, знающему один из поддерживаемых языков.
  • Кроссплатформенность. IDE запускается на любой десктопной ОС.
  • Выбор компилятора. Code::Blocks ограничена в функциональности, но эта возможность — несомненный плюс.
  • Легковесность.

Минусы:

  • Недостаточная функциональность. Для создания комплексных приложений Code::Blocks категорически не подходит.
  • Нестабильность. Приходится сталкиваться с нелепыми ошибками в отладке и некорректной работой всей среды.

Интерпретатор C / C++ Ch Embeddable (стандартная версия)

Интерпретатор C / C++, поддерживающий стандарт ISO 1990 C (C90), основные функции C99, классы C++, а также расширения к языку С, такие как вложенные функции, строковый тип и т. д. Он может быть встроен в другие приложения и аппаратные средства, использоваться в качестве языка сценариев. Код C / C++ интерпретируется напрямую без компиляции промежуточного кода. Поскольку этот интерпретатор поддерживает Linux, Windows, MacOS X, Solaris и HP-UX, созданный вами код можно перенести на любую из этих платформ. Стандартная версия бесплатна для личного, академического и коммерческого использования. Для загрузки пакета необходимо зарегистрироваться.

Features of Intel C++ Compiler

Below are some noticeable features which you’ll experience after Intel C++ Compiler free download.

  • An imposing code compiler that relies on very powerful optimization techniques thus letting the programmers to increase the execution speed as well as improve the application performance.
  • Can be integrated with Visual Studio in order to help the programmers in processing and optimizing their source code.
  • Got advanced optimization capabilities and it can combine the vectorization as well as parallelization functions for enhancing the functioning and running speed of the application.
  • Compatible with built-in compiler in Visual Studio allowing the object mixing.
  • Capable of re-organizing the original source code, reducing the code as well as cache size while aligning the functions with the final goal of speeding up the code execution.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector