LINUX.ORG.RU

gcc компилирует старую версию файла

 ,


0

2

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

запускаю так: ./runcode

содержимое файла runcode:

#!/bin/bash
clear
echo "--------"
echo ""
gcc code.cpp -o proga -pthread
man sem_close | grep '^[A-Z]' |./proga

#./proga

echo ""
echo "--------"

может кто подскажет из-за чего может быть такое?


gcc code.cpp -o proga -pthread || exit

Для этих целей лучше подходит Makefile.

all: proga

run: proga
    man sem_close | grep '^[A-Z]' |./proga

proga: code.cpp
    gcc code.cpp -o proga -pthread
E ★★★
()
Ответ на: комментарий от E

Я думаю, что при использовании GNU make с его встроенными правилами можно безо всякого Makefile набрать make proga, он её скомпилирует из proga.cpp

proud_anon ★★★★★
()
man sem_close | grep '^[A-Z]' |./proga

O_O

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от proud_anon

Только что попробовал - работает, прикольно. Но флаги приходится через переменные окружения передавать, очень неудобно.

E ★★★
()
Ответ на: комментарий от E

Но флаги приходится через переменные окружения передавать, очень неудобно.

Так можно же make proga CXXFLAGS=<флаги>. Но, конечно, в целом это скорее побаловаться, либо чтобы можно было опускать некоторые правила в Makefile.

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.