Компилятор C, отличный от Apple, для Mac

Ищем небольшой компилятор C/C++, доступный для OS X Catalina без необходимости установки как xcode, так и инструментов командной строки. CLT сам берет на себя Gig, xcode еще больше. Желательно около 100 МБ или меньше, если это возможно.
Пожалуйста, посоветуйте.

P.S. писать скрипты для гидродинамики, даже не нуждаясь в ООП, просто удивляюсь, почему сейчас компиляторы перевешивают возможности USB-флешек из 2000-х :(

P.P.S Также рассматриваю возможность установки серверного дистрибутива Linux только ради C. С удовольствием выслушаю разные мнения.


person Community    schedule 04.06.2020    source источник
comment
Запрашивать рекомендации не по теме на SO   -  person UnholySheep    schedule 04.06.2020
comment
@UnholySheep Сэр, не могли бы вы перенаправить, пожалуйста?   -  person    schedule 04.06.2020
comment
softwarerecs.stackexchange.com   -  person Clifford    schedule 04.06.2020
comment
Как насчет этого: osxdaily.com /2012/07/06/install-gcc-без-xcode-в-mac-os-x   -  person Jerry Jeremiah    schedule 04.06.2020
comment
Не вижу большого рынка для инструментов компиляции C для платформы, которая предоставляет их бесплатно. clang не является компилятором Apple, это компилятор не Apple, который вам нужен, или, скорее, просто небольшой компилятор. Вам по-прежнему понадобится цепочка инструментов Apple, чтобы иметь дело с подписью вашего кода для развертывания, чтобы пройти мимо GateKeeper. Я не думаю, что есть много способов избежать этого. Если вы просто хотите кодировать и компилировать простой код C без установки компилятора, используйте онлайновый компилятор, такой как onlinegdb .com (имеет явное преимущество перед большинством онлайн-инструментов, заключающееся в наличии отладчика).   -  person Clifford    schedule 04.06.2020
comment
Вам понадобится только ядро ​​​​xcode (инструменты и утилиты командной строки), а не IDE и другие дополнения. Это должно быть намного меньше, чем весь пакет. У меня нет Mac, поэтому я не знаю, можно ли установить его отдельно. С другой стороны, какая у вас проблема с ГБ на Mac?   -  person Peter - Reinstate Monica    schedule 04.06.2020
comment
Онлайн-компилятор @Clifford для числовых задач? Вы можете нанять облачные вычислительные мощности - но это довольно дорого   -  person 0___________    schedule 04.06.2020
comment
@JerryJeremiah все это рекомендует инструменты командной строки, которых я стараюсь избегать.   -  person    schedule 04.06.2020
comment
@Clifford, спасибо за совет, онлайн-компиляторы не смогут получить выходные файлы в виде графиков / GIF-файлов.   -  person    schedule 04.06.2020
comment
@P__J__ да, я проглядел PS/PPS. Я изо всех сил пытаюсь понять, в чем проблема, если это просто вопрос следа инструментальной цепочки. Интересно, почему это важно?   -  person Clifford    schedule 04.06.2020
comment
Идеология @Clifford OPs, вероятно, и архаичный подход, подобный ZX Spectrum.   -  person 0___________    schedule 04.06.2020


Ответы (2)


Предпочтительно около или ниже 100 МБ, если это возможно.

Почему вас беспокоит 1 или 5 ГБ? Для сложных математических расчетов нужен очень мощный компьютер. Хранилище дешевое (1 ТБ SSD за ~ 120 долларов). Я скорее думаю, что вам нужно будет инвестировать в приличный графический процессор NVIDIA и рассчитывать там. У нас есть (моделирование бегущих волн для малого бизнеса) сервер стоимостью 100 тысяч долларов с большим количеством Tesla, и он недостаточно быстр :).

Забудьте о размерах программы - это наименее важно, это никого не волнует.

Вам нужен современный компьютер, много оперативной памяти и много быстрой памяти. Начните с него. Размер компилятора не имеет значения

person 0___________    schedule 04.06.2020
comment
Правильный ответ... - person Peter - Reinstate Monica; 04.06.2020
comment
речь идет об эффективности хранения. оба моих 2 ТБ хранилища заполнены ценными данными cfd (или не очень ценными). это просто похоже на использование ракеты, чтобы проехать 2 квартала. - person ; 04.06.2020
comment
@DvaNapasa Вы должны быть в состоянии очистить 2/1000 этих данных, или сбросить их на какое-то внешнее хранилище, или купить другой диск за 50 баксов. Если вы исследователь, то время, которое вы потратили на размышления об этом (не говоря уже о нашем), стоит больше. - person Peter - Reinstate Monica; 04.06.2020
comment
@Peter-ReinstateMonica проблема с перемещением ракеты из одной комнаты в другую внутри дома остается :( - person ; 04.06.2020
comment
@DvaNapasa В месте, где ракета стоит 50 баксов, это не имеет значения. Кроме того, ракета делает много приятных вещей (система сборки, IDE, отладка, оптимизация...). - person Peter - Reinstate Monica; 04.06.2020
comment
Дванапаса: если ваш диск почти заполнен, рассмотрите возможность сжатия (например, с помощью bzip2) некоторых из менее нужные файлы. Но я согласен с Петером: ваше время стоит больше, чем дешевый SSD-диск. - person Basile Starynkevitch; 04.06.2020
comment
@DvaNapasa, ты сосредотачиваешься на неважных проблемах. Если вы собираетесь потратить месяцы на то, чтобы сэкономить место – решать вам. Никого, кто занимается серьезной работой, это не волнует. - person 0___________; 04.06.2020
comment
@Peter-ReinstateMonica наши комментарии становятся похожими на войну идеологий и не по теме. - person ; 04.06.2020
comment
@BasileStarynkevitch плохая идея - удалить весь мусор, который у вас есть :). После этой операции у вас будет много места - person 0___________; 04.06.2020
comment
@DvaNapasa: Я предполагаю, что ваша настоящая проблема не техническая, а связана с управлением и финансированием (и тратой вашего драгоценного времени ...). Я рекомендую попросить вашего босса купить вам дешевый SSD-диск. - person Basile Starynkevitch; 04.06.2020
comment
@DvaNapasa, это зависит от тебя. Не моя проблема. Вы можете игнорировать все советы - person 0___________; 04.06.2020
comment
@BasileStarynkevitch да, это не техническое. просто ищу легкий компилятор. - person ; 04.06.2020
comment
@DvaNapasa не существует. Компилятор - это только его часть. Вам нужны библиотеки, весь набор инструментов, отладчик — извините, возможно, вы пишете код без ошибок. Я программист почти 40 лет, и мне нужно отлаживать свое программное обеспечение. - person 0___________; 04.06.2020
comment
@P__J__: моя первая программа была на перфокартах, 1974 для IBM 370/168, в PL/1. Я тоже делаю ошибки даже в 2020 году. - person Basile Starynkevitch; 04.06.2020
comment
@BasileStarynkevitch OT, но: перфокарты 1981 года тоже здесь. Ничто не сравнится с ощущением безопасности данных, когда ваша программа лежит в ящике на полке :-). - person Peter - Reinstate Monica; 04.06.2020

Ищем небольшой компилятор C/C++, доступный для OS X Catalina

C и C++ — это разные языки. Прочтите и сравните оба n1570 (стандарт C11) и n3337 (стандарт C++11).

P.S. писать скрипты для гидродинамики, даже не нуждаясь в ООП, просто удивляюсь, почему сейчас компиляторы перевешивают возможности USB-флешек из 2000-х :(

Поскольку современные компиляторы C или C++ способны к очень хитрым оптимизациям, динамика практически необходима (помните об OpenACC и OpenMP и OpenCL; возможно, вам понадобится один из них). См. этот проект отчета, в котором они объясняются.

Если вам нужен неоптимизирующий компилятор C, рассмотрите возможность использования tinycc или nwcc (и, возможно, перенесите их на MacOSX). Оба способны компилировать код C на MacOSX или Linux. Оба имеют открытый исходный код и написаны на C.

Вы можете использовать vim или GNU emacs в качестве редактора исходного кода. Или что Apple предлагает на вашем Macbook. Выберите также хороший инструмент автоматизации сборки (например, GNU make или ninja) для управления вашим компилятором C или C++ и, конечно же, компилировать в командной строке...

Но вы, вероятно, могли бы воспользоваться в своей области многочисленными оптимизациями, которые либо недавно были проведены GCC (т.е. g++ для C++, gcc для C) или недавние Clang (например, clang++ для C++, clang для C). И оба компилятора имеют десятки миллионов строк исходного кода.

Если вы хотите, чтобы язык сценариев управлял библиотеками гидродинамики, рассмотрите возможность использования существующего: Lua, Python, Guile, Ocaml... приходит на ум и может включать другие огромные библиотеки.

См. также LinuxFromScratch.

Если у вас есть много времени (и несколько гигабайт дискового пространства), рассмотрите следующий маршрут: загрузите какой-нибудь старый компилятор C; используйте его для компиляции nwcc из исходного кода. Загрузите исходный код GCC 4.5 (он написан на C). Скомпилируйте это. Теперь у вас есть компилятор C++ g++-4.5. Загрузите исходный код GCC 9. Скомпилируйте его с помощью g++-4.5. Теперь у вас есть оптимизирующий компилятор C++11 g++-9. Это может занять неделю вашего времени.

Также рассматриваю возможность установки серверного дистрибутива Linux только ради C.

Этот выбор велик и зависит от мнения. Я бы порекомендовал недавний Debian или Ubuntu.

person Basile Starynkevitch    schedule 04.06.2020
comment
Я полагаю, что предложение по существу загрузить g++ 9 выходит за рамки ОП. Я бы тоже подумал, что это не так просто, как вам кажется. - person Peter - Reinstate Monica; 04.06.2020
comment
@Peter: Это непросто: я написал: если у вас есть много времени, которое можно потратить. У меня не так много времени, даже если я иногда компилирую GCC и Clang из их исходного кода (и я внес свой вклад в GCC). - person Basile Starynkevitch; 04.06.2020
comment
Спасибо за ответ! использую vim в течение нескольких лет и пока чувствую себя хорошо. другие IDE кажутся излишними. - person ; 04.06.2020
comment
Вы можете красиво настроить vim для запуска make одним нажатием клавиши. - person Basile Starynkevitch; 04.06.2020
comment
@BasileStarynkevitch Вы скомпилировали его для Mac? Я полагаю, что есть причина, по которой Apple его настраивает. - person Peter - Reinstate Monica; 04.06.2020
comment
Нет. Я идеологически ненавижу Apple и очень разочарован MacBook G4, который купил в 2004 году. Он физически сломался через 1 месяц после окончания гарантии. Так что даже если вы дадите мне макбук, я, наверное, от него откажусь. Я использую Linux как на работе, так и дома (на настольных компьютерах, ноутбуках и VPS) с 1993 года. Оборудование Apple, ИМХО, очень дорогое: логотип Apple удваивает цену (по сравнению с эквивалентным оборудованием ПК). - person Basile Starynkevitch; 04.06.2020
comment
@BasileStarynkevitch MAC не для числовых задач. Цена сумасшедшая. В Великобритании башенный MAC стоит в несколько сотен раз более мощной числовой рабочей станции. - person 0___________; 04.06.2020