@ProCxx

Страница 2188 из 2477
Alex
09.07.2018
21:08:58
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf

Вот, например.

Aleksandr
09.07.2018
21:09:08
A type whose size cannot be represented by std::size_t is ill-formed (since C++14) круто)

Google
Ilia
10.07.2018
05:03:25
граждане, подскажите, плз, как собрать glibc? ../configure --enable-static --disable-shared --host=mipsel-elf32 --with-binutild=~/Tools4x/mipsel-elf32/bin CFLAGS='-mips32 -EL -c -Wa,-mdebug -O3 -fno-delayed-branch -fno-builtin -Wa,-ahl -Wa,-O0 -Wa,--mc24r2' ARCH=mips Ругается, что мол "GNU С library пока для вашей платформы недоступна"

для начала надо glibc-ports еще

ну и компилер под мипс

так там же есть в sysdeps /mips/mips32

А компилятор естественно есть

уху. Последняя версия ports 2.16 и в 2.16 glibc нету ещё мипса

чо?

Найти glibc-ports старше 2.16 http://ftp.gnu.org/gnu/glibc/

Короче, теперь ругается на configure: error: Operating system elf32 is not supported

если поменять --host=mipsel-elf32 то тогда он пытается юзать не тот префикс для тулзов

То есть, если сделать так: --host=mipsel-elf32-none Получаем checking for mipsel-elf32-none-g++... no checking for mipsel-elf32-none-c++... no checking for mipsel-elf32-none-gpp... no checking for mipsel-elf32-none-aCC... no checking for mipsel-elf32-none-CC... no checking for mipsel-elf32-none-cxx... no checking for mipsel-elf32-none-cc++... no checking for mipsel-elf32-none-cl.exe... no checking for mipsel-elf32-none-FCC... no checking for mipsel-elf32-none-KCC... no

ну возьми 2.27 glibc там все есть

ну а ничего что я её и пытаюсь собрать?

Google
Ilia
10.07.2018
05:03:26
ты ничего не написал

Упс. Пардон. Но, вроде, логично, что я пытаюсь собрать последнюю версию.

Короче, как объяснить конфигуратору, что мне нафиг не нужен linux?

а что ты вообще хочешь сделать то

возьми openwrt и не сношай мозг

и вообще для ембеддеда лучше uclibc-ng, newlib или musl

боюсь, нам не разрешат воткнуть на то, что летает openwrt. Спасибо за ценный совет

а glibc нам надо собрать просто потому, что она у нас есть в собранном виде, от мультикора. Но собрана она немного не с теми флагами.

Xessao
10.07.2018
06:33:07
Народ, за что отвечает флаг -g у линкера gcc? За то же, что и компилятор? Открыл доки на опции линкера gcc, но там ни слова.

Серж
10.07.2018
06:42:08
отладочные символы вроде

Xessao
10.07.2018
06:42:41
Ilia
10.07.2018
09:17:59
Народ, за что отвечает флаг -g у линкера gcc? За то же, что и компилятор? Открыл доки на опции линкера gcc, но там ни слова.
-g у КОМПИЛЯТОРА отвечает за генерацию отладочной информации. -s у ЛИНКЕРА отвечает за вырезание (strip) отладочной информации.

Xessao
10.07.2018
09:39:02
Ilia
10.07.2018
09:39:53
Там одни и те же флаги.

И запускаешь ты порой не линкер, а только компилятор.

Короче , -g -O0 - отладочный билд. -O2(3) -s - релизный билд.

Xessao
10.07.2018
09:42:49
Зачем ты пытаешься ответить на то, что я не спрашивал и уже на отвеченный вопрос?

Anatoly
10.07.2018
09:43:47
Зачем ты пытаешься ответить на то, что я не спрашивал и уже на отвеченный вопрос?
Илья очень отзывчивый, даже если ты узнал ответ он будет тебя курировать и напоминать, чтобы ты не забыл ответ

Google
Alexander
10.07.2018
09:44:42
напиши @MasterZiv /thread

и бот прерывает тред с тем, кто это написал

Серж
10.07.2018
09:45:06
и вообще для ембеддеда лучше uclibc-ng, newlib или musl
чем лучше? их разве не 1,5 инвалида пишет, которым баги править некогда?

Серж
10.07.2018
09:46:10
статически все линковать это хорошая идея в условиях недостатка оперативки на встроенной системе?

Серж
10.07.2018
09:47:42
я не применительно к конкретному случаю musl и newlib это же библиотеки си, разработанные с прицелом на статическую линковку?

uclibc на мемори футпринт в ущерб бустродействию?

Ilia
10.07.2018
09:48:09
Правда, зависит от операционной системы... Там какая?
С другой стороны, если там есть поддержка динамической линковки, то наверное, не зря...

Серж
10.07.2018
09:48:44
в интернете пишут, что все они изобилуют багами, я правда сам никаких проблем не имел, но кроме хеловордов на musl ничего серьезного не делал

Ilia
10.07.2018
09:49:40
я не применительно к конкретному случаю musl и newlib это же библиотеки си, разработанные с прицелом на статическую линковку?
Это не я писал, это форвард из другого чата. Любые библиотеки С не разрабатываются с прицелом на какую-то линковку с кодом, она может быть любой.

Серж
10.07.2018
09:53:21
https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead

Ilia
10.07.2018
09:54:03
Alexander
10.07.2018
09:55:52
ага, сейчая бы рассказывать, что либы статически не линкуют, ага

очень интересная теория

Ilia
10.07.2018
09:57:13
https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead
В смысле у парня там проблемы, и он полагает, что всё должна решить статическая линковка. Ну...

Max
10.07.2018
10:20:34
https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead
Нужно рассказать этим людям о том, что происходит в мире go lang. То-то удивятся.

в гугле даже не подозревают, что их подход не работает на линуксе.

yuri
10.07.2018
10:23:45
Под линуксом у меня были проблемы с юникодом. Либа никак не хотела линковаться статически, а на разных дистрибутивах имелись совсем разные версии.

Google
Серж
10.07.2018
10:25:31
го на глибси не завязан, там все свое носят с собой

Max
10.07.2018
10:25:36
го на глибси не завязан, там все свое носят с собой
В этом вроде как и есть весь смысл статической линковки.

Дмитрий
10.07.2018
10:26:23
го на глибси не завязан, там все свое носят с собой
Хочет быть не завязан, но кое-где все ещё висит зависимость

Max
10.07.2018
10:28:43
Хочет быть не завязан, но кое-где все ещё висит зависимость
Разве? По-моему, там даже calling convention другой.

Дмитрий
10.07.2018
10:29:29
Ну то есть собрал приложение а в ldd все ещё pthreads

yuri
10.07.2018
10:33:02
Ну тут 2 вопроса: 1) какие проблемы с юникодом? 2) Какие проблемы со статической линковкой?
libicu на одних системах 53 версии, на других 55 версии, на третьих 57 версии. И никак не хотела линковаться статически. Уже не помню, как поборол. Наверное Qt целиком скомпиллировал без этой зависимости.

yuri
10.07.2018
10:37:24
Самый лучший способ борьбы давно придуман — надо линковаться динамически)
Это не решало проблему. В отдельных дистрибутивах не было пакетов для конкретного номера этой библиотеки.

yuri
10.07.2018
10:39:49
А зачем тебе конкретный номер этой библиотеки?
Я не знаю, как так получилось. После компиляции мой проект хотел конкретную версию libicu. А тащить ее рядом был не вариант, потому что там под сотню мегабайт.

yuri
10.07.2018
10:40:59
Нет, это вполне логично.

Серж
10.07.2018
10:41:37
а ты не пробовал принести проекту жертву?

yuri
10.07.2018
10:42:46
Версии ICU несовместимы между собой же. Вот и были пакеты отдельно для 48, 52, 53, 55, 57. Но не везде. Непонятно как задать этот депенданс. Долго бился над статической линковкой, не смог, и в итоге перекомпиллировал Qt c iconv вместо icu.

Дмитрий
10.07.2018
10:42:53
Не, там изи. При смене мелкой версии ломать Api норм.

Alexander
10.07.2018
10:56:02
Ребят, по c++ подскажите нубику пожалуйста, я ведь правильно понимаю, что нельзя прям в вызове функции инициализировать новый массив в виде аргумента из существующих переменных? Вопрос возник из-за аналогии с питоновским вызовом, где можно лист прям сконструировать в вызове вот так: foo([a1,b2])

Arseny
10.07.2018
10:56:10
Кто мы-то?

Google
Alexander
10.07.2018
10:57:00
описан, а можно тогда пример такого вызова?

Alexander
10.07.2018
10:57:37
foo({a1, b2})
хмм, так просто?

Я думал надо указывать тип массива

Спасибо, попробую

Крис
10.07.2018
10:58:30
хмм, так просто?
В массиве хранятся однотипные данные(кроме случаев с полиморфизмом), тип будет сдедуцирован(насколько я понимаю)

yuri
10.07.2018
10:58:32
В проекте xalan-c в одном месте использовался VLA и не компиллируется вижуал студией. Душа болит, что делать не знаю.

Igor
10.07.2018
10:59:46
хмм, так просто?
void func(const int(&arr)[2]); void gunc() { func({1,2}); }

Alexander
10.07.2018
11:00:17
void func(const int(&arr)[2]); void gunc() { func({1,2}); }
вооот, это уже похоже на правду!))

Igor
10.07.2018
11:00:27
для void func(const int arr[2]); уже не прокатывает, ибо тип arr мутирует в просто const int*

Страница 2188 из 2477