gcc и кеширование - PullRequest
       3

gcc и кеширование

3 голосов
/ 25 мая 2011

Я разрабатываю программу на C и, как ни странно, обновляя исходные файлы, я не вижу никаких изменений в результирующем исполняемом файле.Возможно ли, что gcc хранит кэшированную копию файлов, и даже если я скомпилирую, я не получу более новую версию моего исполняемого файла?В таком случае, как я могу заставить компилятор использовать только что отредактированные файлы?

Я компилирую свой код следующим образом:

# gcc -o myExecFileName source_file_1.c source_file2.c

Ответы [ 3 ]

2 голосов
/ 26 мая 2011

Чтобы ответить на ваш вопрос, никакие gcc не будут кешировать ваши файлы.Что-то еще происходит.Вы либо меняете файлы в другом каталоге, как предлагает @Lee D, либо не сохраняете файлы перед компиляцией, либо, возможно, внесенные вами изменения являются ifdef'd.

0 голосов
/ 26 мая 2011

Убедитесь, что вы редактируете те же файлы, которые вы компилируете.Если вы работаете с несколькими версиями файлов в нескольких окнах, это может быть не так.Случилось со мной на прошлой неделе.

0 голосов
/ 25 мая 2011

Похоже, ваш make-файл вышел из строя. make использует время файла, чтобы определить, следует ли запускать этап компиляции. Вы должны иметь свои зависимости, чтобы он работал правильно.

Обратите внимание:

hello: hello.c
   $(CC) hello.c -o hello

В первой строке hello: hello.c означает просмотр отметки времени в файле hello.c, и если она старше отметки времени в hello (или, если hello не существует), то выполните компиляцию указано ниже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...