Size: a a a

2020 November 04

Vs

Vladislav support.od... in pro.bash
вместо := используй =
источник

Vs

Vladislav support.od... in pro.bash
Пример:
CC = g++46
источник

Vs

Vladislav support.od... in pro.bash
И почитай например, такое:
https://habr.com/ru/post/155201/
источник

Ж

Женя in pro.bash
Ребят, а зачем эти make файлы? Постоянно вижу, но не знаю
источник

аᶘ

асоциальный пикотран... in pro.bash
Женя
Ребят, а зачем эти make файлы? Постоянно вижу, но не знаю
Ну смотри, написал, например, ты программу на Си, у тебя есть 10 файлов, каждый нужно скомпилировать и потом всё слинковать и получить готовую программу для запуска.
Ты можешь каждый раз вызывать руками gcc -c a.c -o a.o, gcc -c b.c -o b.o, ..., gcc a.o b.o -o program, но это неудобно.
Ты можешь засунуть всё это в шелл-скрипт и вызывать его, но тогда он будет ВСЕГДА перекомпилировать каждый файл, даже если он не менялся.

Make в таком случае хорош следующим:
а) он позволяет задать декларативно рецепт, по которому нужно компилировать твою программу вместо написания каких-то скриптов вроде compile.sh с кучей вызовов GCC внутри
б) компилирует только те файлы, которые изменились с момента последней компиляции
источник

аᶘ

асоциальный пикотран... in pro.bash
Если ты напишешь Makefile для своей программы, это позволит легко и непринуждённо собирать твою программу, не задумываясь как именно это происходит внутри, достаточно в терминал написать make. С точки зрения какого-нибудь Visual Studio Makefile -- это что-то вроде файла проекта, в котором описано, какие файлы являются исходниками твоего приложения, какой версией компилятора его собирать и так далее.
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladislav support.od.ua
вместо := используй =
Как ему это поможет? Он пытается в процессе выполнения таргета поменять переменную внутри Makefile.
Сейчас у него SMTH = kek интерпретируется как шелл-команда.
источник

аᶘ

асоциальный пикотран... in pro.bash
Sardorkhuja Tukhtakhodjaev
Всем привет! Подскажите, пожалуйста, как в правиле мейкфайла изменить значение глобальной переменной?

Makefile:
SMTH := lol

all:
echo $(SMTH)

bonus:
echo "current = $(SMTH)"
SMTH = kek
echo $(SMTH)

Вывод:
>make bonus
echo "current = lol"
current = lol
SMTH = kek
make: SMTH: No such file or directory
make: *** [bonus] Error 1
Ты разобрался или ещё нет?
источник

аᶘ

асоциальный пикотран... in pro.bash
Sardorkhuja Tukhtakhodjaev
Всем привет! Подскажите, пожалуйста, как в правиле мейкфайла изменить значение глобальной переменной?

Makefile:
SMTH := lol

all:
echo $(SMTH)

bonus:
echo "current = $(SMTH)"
SMTH = kek
echo $(SMTH)

Вывод:
>make bonus
echo "current = lol"
current = lol
SMTH = kek
make: SMTH: No such file or directory
make: *** [bonus] Error 1
Судя по тому, что я вижу, невозможно внутри rule менять переменную вообще.
Ты можешь для конкретного rule задать target-specific значение какой-то переменной, но не можешь поменять значение глобальной переменной.
источник

Ж

Женя in pro.bash
А не подскажете, как настроить clion? Или там определенных настроек не нужно ?
источник

Е

Егор in pro.bash
Подскажите, через nc можно как-то открыть сервер на всю локальную сеть? Допустим есть 2 устройства, хочу на одном сделать что-то аля
nc -l 192.168.0.123 8000 

а на другом nc 192.168.0.123 8000 и общаться, но мне nc говорит Cannot assign requested address. QUITTING.
источник

аᶘ

асоциальный пикотран... in pro.bash
Егор
Подскажите, через nc можно как-то открыть сервер на всю локальную сеть? Допустим есть 2 устройства, хочу на одном сделать что-то аля
nc -l 192.168.0.123 8000 

а на другом nc 192.168.0.123 8000 и общаться, но мне nc говорит Cannot assign requested address. QUITTING.
Ты хочешь, чтобы он работал только для локальной сети?
источник

Е

Егор in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ты хочешь, чтобы он работал только для локальной сети?
да, я тут обнаружил что nc может только по адресу из ifconfig слушать, но зато работает
источник

Е

Егор in pro.bash
я так понимаю если я хочу определённый адрес это у роутера нужно просить?
источник

ST

Sardorkhuja Tukhtakh... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ты разобрался или ещё нет?
Да, спасибо! Оказалось, что значение переменной val модно изменить так:

$(eval val = 1)
источник

аᶘ

асоциальный пикотран... in pro.bash
Егор
я так понимаю если я хочу определённый адрес это у роутера нужно просить?
Ты можешь руками добавить себе адрес через ip addr add/
источник

аᶘ

асоциальный пикотран... in pro.bash
Sardorkhuja Tukhtakhodjaev
Да, спасибо! Оказалось, что значение переменной val модно изменить так:

$(eval val = 1)
Это так не работает. Он на самом деле меняет значение переменной не в момент выполнения, а в момент парсинга!
источник

ST

Sardorkhuja Tukhtakh... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Это так не работает. Он на самом деле меняет значение переменной не в момент выполнения, а в момент парсинга!
А с :=?
источник

аᶘ

асоциальный пикотран... in pro.bash
eval срабатывает в момент парсинга, без разницы что там будет внутри. А какое поведение ты пытаешься вообще сделать? Почему тебе надо менять переменную внутри правила?
источник

Е

Егор in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ты можешь руками добавить себе адрес через ip addr add/
офигеть, спасибо
источник