Есть ли скрипты для компиляции кода C с помощью cygwin для nppexe c? - PullRequest
3 голосов
/ 17 июня 2020

В настоящее время я учусь кодировать в C, и я использую Cygwin64 для компиляции кода, на данный момент я использую Notepad ++ в качестве текстового редактора, и я хотел бы иметь возможность компилировать свой код с помощью плагина nppexe c вместо закрытия notepad ++ скомпилируйте и снова откройте его. Единственная проблема заключается в том, что большинство скриптов nppexe c для C используют mingw, а не cygwin. Существуют ли какие-либо скрипты nppexe c для C, использующие cygwin64?

Ответы [ 4 ]

4 голосов
/ 17 июня 2020

Существуют ли скрипты для компиляции C кода с помощью cygwin для nppexe c?

Сделайте себе одолжение, научитесь использовать интерфейс командной строки .

Прочтите книгу Modern C.

Избегайте странных символов (особенно пробелов) в именах C исходных файлов. Поэтому используйте foo-bar.c или foo_bar.c, но не foo bar.c (с пробелом после секунды o).

Для вашего редактора исходного кода рассмотрите GNU emacs или vim или Visual Studio Code (или какой-либо другой IDE по вашему выбору). Но помните, что большинство программ C компилятора (включая tiny cc, nw cc, G CC - который cygwin обеспечивает-, Clang , даже Visual Studio лежит в основе его cl команды) преобразует C единицу перевода (практически ваш foo.c файл) в объектный файл (например, foo.obj на Windows, foo.o на Linux или MacOSX) и не имеют для этого никаких GUI. Позже потребуется некоторый компоновщик .

Компиляция с помощью автоматизации сборки , например, ninja или GNU make .

Используйте систему управления версиями , например git.

Во многих случаях интересно сгенерировать часть вашего кода C (так называемые подходы метапрограммирования ). Изучите такие инструменты, как SWIG , ANTLR , GNU bison , rpcgen или те, которые поддерживают ASN-1 в списке здесь . Для интерфейсов GUI рассмотрите возможность использования GTK и связанных инструментов генератора кода , таких как Ggen . Для служб JSONRP C см. jsvggen . Используя интерфейс командной строки, воспользоваться этими инструментами легко. Посмотрите также, для вдохновения, в открытый исходный код многих загружаемых исходных кодов компиляторов генерирующих C кода , таких как Bigloo или Chicken / Scheme или S48 .

Научитесь использовать отладчик , например GDB или LLDB . Отладочная информация (например, DWARF ) требует специальных флагов во время компиляции, поэтому с G CC используйте gcc -Wall -Wextra -g для получения предупреждений и отладочной информации. Cygwin является оболочкой для компилятора G CC.

Для встроенной кросс-компиляции для устройств Arduino или RaspBerryPI, C кросс-компилятор также является инструментом командной строки.

Потратьте несколько дней, чтобы прочитать документацию cygwin и G CC.

Конечно, прочтите документацию по каждому упомянутому здесь инструменту.

Cygwin вдохновлен Unix, поэтому имейте в виду Unix философия .

NppExe c - это плагин для Notepad ++ , документация которого где-то есть.

Для вдохновения , изучите исходный код существующего программного обеспечения с открытым исходным кодом на github и gitlab .

PS. Рассмотрите возможность установки нового ie -дружественного Linux дистрибутива , такого как Debian или Ubuntu , на вашем ноутбуке P C (если вы предпочитаете исходный : хороший дистрибутив GNU / Linux в его имитации: Cygwin). Обязательно сделайте резервную копию важных данных перед попыткой. Вам понадобится сотня гигабайт дискового пространства, и вы можете настроить двойную загрузку: Linux для разработки программного обеспечения, Windows для игр.

PPS: каждое программное обеспечение, упомянутое выше ( за исключением некоторых компиляторов MicroSoft) имеет открытый исходный код и существует в Debian или Ubuntu. Вы могли позже заинтересоваться Linux С нуля . Также для информации прочтите этот черновой отчет (работа в июне 2020 г.)

4 голосов
/ 17 июня 2020

Примерно так: Окончательная настройка g cc в Notepad ++ [с использованием nppexec] ?

Notepad ++ - отличная программа, но вряд ли это IDE. Он не понимает ваш код, поэтому не может выполнять интеллектуальное завершение кода и не позволяет выполнять отладку.

Например, Code :: Blocks - хорошая бесплатная IDE .

Кроме того, если вы хотите изучить C, я не понимаю, почему вы используете Cygwin. Используйте Cygwin только в том случае, если вам действительно нужно перенести содержимое Linux / Unix на Windows, которое не будет собираться с другими инструментами.

Вместо этого вам следует go для MinGW-w64.

0 голосов
/ 18 июня 2020

Cygwin включает кросс-компиляторы mingw. Найдите пакеты mingw64-i686-g cc -g ++ и mingw64-x86_64-g cc -g ++ в программе установки cygwin. Это почти те же пакеты компилятора, которые вы можете установить с помощью pacman, когда вы установили систему mingw64.

В вашем make-файле измените CC = g cc на CC = / bin / x86_64-w64-mingw32-g cc .exe для компиляции 64-битных exe-файлов или CC = / bin / x86_64-p c -cygwin-g cc .exe для 32-битных exe-файлов. Полученные исполняемые файлы не зависят от библиотеки DLL cygwin. В простейших случаях они зависят только от windows DLL.

Существует огромная коллекция пакетов mingw64, доступных для установки.

0 голосов
/ 17 июня 2020

Сделайте себе одолжение, не учитесь использовать командную строку на этом этапе.

Если вы используете Windows 10, установите VisualStudio

Cygwin вам больше не нужен как Windows 10 имеет родную подсистему Linux. Вы можете установить туда свой любимый дистрибутив (я бы порекомендовал Ubuntu, поскольку инструкции для Ubuntu).

Следуйте инструкциям: https://devblogs.microsoft.com/cppblog/targeting-windows-subsystem-for-linux-from-visual-studio/

Наслаждайтесь.

Когда вы немного изучите C, вы сможете начать изучать make или другие системы сборки. Изучение командной строки GDB IMO в 21 веке вообще не нужно. Для него так много удобных графических интерфейсов и интегрированных сред

...