![]() 143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
1 | |
Gcc без MinGW19.12.2013, 18:35. Показов 4938. Ответов 24
Метки нет Все метки)
(
Интересует вопрос, можно ли рабочий код (который без ошибок компилируется в Visual Studio) компилировать с помощью командной строки Windows (я так понимаю что в Windows встроен компилятор gcc)...
Тут на форуме наткнулся на тему GCC с MinGW, однако MinGW это стороннее приложение, хотелось бы без него обойтись, т.к. я же знаю что код правильный (так понимаю что среда разработки VS или же MinGW именно для этого и созданна - для выявления ошибок в программном коде), та статья - GCC - компиляция C/C++ программ И наводящий вопрос, если можно, то как подключать библиотеки? Я вот программлю под WinApi, в свойствах проэкта по дефолту написанно - Use Standart Windows Libraries (в General), ну и иногда нужно Use MFC in static library... Туда же: если я в вкладке VStudio Linker-> Input в режиме Debug дописываю gdi32.lib , comctl32.lib и др. то можно ли их так же добавлять в проэкт? И ещё один наводящий вопрос - полазил по интернету, библиотеки к компилируемой программе подключаются через команду -l и библиотеку... Можно ли обойти это, используя уже в коде программы например через pragma или define это? И пожалуйста, приводите либо примеры, либо статейки небольшие ( только не целые книги, не хочу на лишнее терять месяцы ).
0
|
19.12.2013, 18:35 | |
19.12.2013, 18:35 | |
Ответы с готовыми решениями:
24
Сборки MinGW (GCC-win32/win64) от niXman Упаковка ресурсов в exe. gcc (MinGW)
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
19.12.2013, 22:22 | 2 |
Уиндовс не имеет встроенных компиляторов.
MinGW - это порт компилятора gcc под Уиндовс. Нет. Синтаксические ошибки отлавливает компилятор. MinGW не является средой разработки. Нет. Поиск библиотек происходит на стадии компановки. Думаю, вам нужны именно книги. Ещё лучше, если есть возможность - получить систематтическое образование, хотя бы на курсах. На это уйдут скорее уже не месяцы, а годы. Иначе рискуете, несмотря на практику программирования, и дальше задавать подобные вопросы на форумах.
0
|
![]() 143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
20.12.2013, 13:47 [ТС] | 3 |
Ещё раз, разве gcc не встроен в Windows ? Везде пишут что встроен, а вы утверждаете обратное...
MinGW это среда разработки я так понимаю, а gcc это сам компилятор? Может книгу посоветуете в таком случае?... Я в принципе не против обучения, тем более что я "самоучка", т.к. образование средне-специальное по программированию(точнее по информатике тогда уж, но основным предметом было программирование на Си) я давно получил и даже больше, по окончанию продолжил обучение и дошёл до конца 3-его курса высшего образования, но бросил, т.к. практическо-систематических знаний было мало, т.е. в не правильной последовательности их давали в институте(если можно так назвать этот МФПА/МИФП) и многое пропускали, что просто убивало желание дальше учиться в этом вузе, т.к. многое было не понятно уже из за пропуска основополагающих знаний. В итоге я на нынешнем рабочем месте, тут можно посмеяться, я скорее даже и не работаю как это принять считать, а скорее в процессе самообучения взял на себя обязанность написания программы в библиотеке WinApi в виде базы данных, так что самоучка грубо говоря, но для меня так даже лучше, т.к. обучаюсь параллельно с поставленными задачами, которые параллельно приминяю, так что чисто из полученного горе опыта вуза, вижу что мой способ лучше, т.к. сам себе режисёр. Конечно из за нехватки, как я уже говорил основополагающих знаний возникают подобные нупские вопросы, однако этого я думаю даже вуз не даст, т.к. понимание таких важных вещей ( которые обычно считаются лишними, и поэтому просто пропускаются мимо ушей ) просто не приходит, а приходит только тогда, когда с этим встречаешся и осознаёш важность темы. (зафилософствовался что то я)
0
|
![]() |
|
20.12.2013, 15:53 | 4 |
Где такое написано? Можно ссылочку?
MinGW - это порт компилятора gcc, т.е. компилятор. MinGW Developer Studio - это IDE. GCC - на самом деле семейство компиляторов, которые only Linux. Литература C++
0
|
![]() 143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
20.12.2013, 17:04 [ТС] | 5 |
Видимо подразумевая под Unix системами и встроенным компилятором я не правильно понял что он есть и в Windows, пичаль. Разсчитывал что можно написать "само компилируемую" программу... А по поводу литературы, у меня подобного вида книги есть (есть Хабибулин, "Профессионально программирование на С/С++" если правильно помню название), но там нет таких тонкостей...
Если можно отойти(точнее углубиться в суть моей задумки), хотелось бы узнать как реализовать компилятор в программе, например, полагаю что в 1С программе есть вроде встроенный... Я примерно понимаю как реализовать там например рисование форм динамически, но вот построение алгоритмов ( сложно составных, даже без использования статических CASE ) будет реализовать самописными функциями обращения к условиям типа if else будет сложновато, проще ИМХО встроенный компилятор...
0
|
20.12.2013, 17:11 | 7 |
gcc кросс платформенный.
0
|
![]() ![]() ![]() |
|
20.12.2013, 17:25 | 9 |
Вот здесь про интерпретатор Пишем свой интерпретатор языка BASIC
Компилятор в разы сложнее Я слабо понимаю, зачем компилятор встраивать в программу. Куда проще воспользоваться внешним компилятором
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
20.12.2013, 19:51 | 11 |
Отличается немало. Иначе - зачем создавать порт?
Cам gcc, скомпилированный для целевой платформы windows, и поставляемый, например в составе cygwin, может работать с windows api через posix прослойку (cygwin32.dll). MinGW - отдельный порт, разрабатываемый отдельной командой, создает нативные уиндовс программы, в т.ч и 64-битные.
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
20.12.2013, 23:46 | 14 |
Сам gcc, исходники которого (одни и те же) можно скомпилировать для многих целевых платформ.
Добавлено через 13 минут Очевидно. Откуда ей там быть. Тем не менее, как сказано у них в документации, без cygwin32.dl с winapi он работать не будет даже при наличии библиотек. Сам не проверял. Да и последнюю программу с WinAPI писал более десяти лет назад. Но не думаю, что кто-то при наличии MinGW всерьез использует cygwin с WinAPI.
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
21.12.2013, 07:15 | 16 |
Не совсем. Я так понимаю:
Есть проект gcc - живущий вовсе не в вакууме, да и форма у него не сферическая ![]() Можно скачать его исходники и скомпилировать, напр. для целевой платформы i386-linux. Для этого не понадобятся изменения в самом проекте или, тем более, создание другого проекта. Всё будет работать "из коробки". Есть другой проект - MinGW. Он завязан на gcc, но развивается параллельно.
0
|
![]() ![]() ![]() |
|
21.12.2013, 13:28 | 17 |
gng, я понял твою мысль. Только это называется не "port", а "fork". Т.е. отдельная ветка развития. В той версии gcc, которая в MinGW, модифицируются по сути дела только внешние настроечные обвесы: как запускать процесс под windows, откуда брать инклюды и библиотеки и т.п. Та часть, которая занимается построением кода, НЕ модифицируется, т.к. процессор один и тот же, а потому процессор под виндой исполняет ровно те же самые операции, что и процессор под линуксом. Возможно, есть какие-то модификации во фронтенде на предмет включения штучного количества каких-то синтаксических расширений, используемых под виндой, может быть используются какие-то другие модели программных соглашений.
"Port" - это когда взяли процессор, под который gcc "из коробки" не будет работать в принципе (потому что этот процессор никто не поддерживал), и реализовали поддержку генерации кода под этот процессор
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
21.12.2013, 14:04 | 18 |
Evg, Да, термины довольно расплывчаты. Просто портом его (MinGW) обычно называют , в т.ч. в официальной документации.
0
|
21.12.2013, 14:21 | 19 |
Назначение Cygwin создать POSIX окружение для программ которые не были портированы под Windows, иначе можно взять MS VC.
Вы забыли про формат исполняемого файла. COFF, PE, ELF и т.д.
0
|
![]() ![]() ![]() |
|
21.12.2013, 14:37 | 20 |
0
|
21.12.2013, 14:37 | |
21.12.2013, 14:37 | |
Помогаю со студенческими работами здесь
20
Linker Ошибки [gcc\MingW]
Вывод от GCC.exe (MinGW) в консоль WinXP в правильной кодировке? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Пользуясь нейросетью возвращаюсь к вопросу альтернативных приводов поступательного движения.
Hrethgir 14.02.2025
Описание тут https:/ / habr. com/ ru/ articles/ 778118/ .
Вопрос ответ
You
Привет. Скажи, есть-ли вещества, которые могут менять жидкое состояние на желеобразное под воздействием ультразвука?
. . .
|
Ошибка "Another git process seems to be running in this repository"
hw_wired 14.02.2025
При работе с git можно столкнуться с довольно раздражающей ошибкой "Another git process seems to be running in this repository". Эта ситуация возникает, когда система контроля версий пытается. . .
|
Ошибка "java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException"
hw_wired 14.02.2025
Как разработчики Java-приложений, мы сталкиваемся с разными ошибками, но одна из них - java. lang. NoClassDefFoundError: javax/ xml/ bind/ JAXBException - стала особенно актуальной после выхода Java 9. . . .
|
Отличия for-in от for-of в JavaScript
hw_wired 14.02.2025
Когда-то единственным способом перебора элементов массива или свойств объекта был классический цикл for с счетчиком. Да, он отлично справлялся с задачей, но код получался громоздким и не очень. . .
|
Отличия implementation, api и compile в Gradle
hw_wired 14.02.2025
Управление зависимостями - одна из ключевых задач при разработке современных приложений на Java и Kotlin. Система сборки Gradle предоставляет гибкие и мощные средства для работы с зависимостями,. . .
|
Что лучше: require или import/export в JavaScript
hw_wired 14.02.2025
Модульность в JavaScript прошла долгий путь эволюции, и сегодня у разработчиков есть два основных способа организации модулей: старый добрый require из системы CommonJS и современные import/ export из. . .
|
Ошибка "Uncaught SyntaxError: Cannot use import statement outside a module"
hw_wired 14.02.2025
Думаю, многие разработчики сталкивались с ошибкой "Uncaught SyntaxError: Cannot use import statement outside a module" при попытке использовать современный синтаксис импорта в JavaScript. Эта. . .
|
Ошибка Docker "Got permission denied while trying to connect to the Docker daemon socket at"
hw_wired 14.02.2025
Разработка с использованием Docker может иногда преподносить неожиданные сюрпризы, и одним из самых распространенных камней преткновения становится ошибка с отказом в доступе к демону Docker. . . .
|
Ошибка "No 'Access-Control-Allow-Origin' header is present on the requested resource"
hw_wired 14.02.2025
При разработке современных веб-приложений нередко сталкиваешься с ошибкой "No 'Access-Control-Allow-Origin' header is present on the requested resource". Эта проблема возникает из-за политики. . .
|
Как закрыть порт в Linux
hw_wired 14.02.2025
Управление сетевыми портами в Linux - непростая, но важная задача для обеспечения безопасности системы. Каждый открытый порт - это потенциальная уязвимость, через которую злоумышленики могут. . .
|