Каков эффект & # ldquo; # num string & rdquo; в исходном файле c [дубликат]

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

$var = 'my variable';
echo "I love ${var}";

или

$var = 'my variable';
echo "I love {$var}";

Выше возвращалось следующее : Мне нравится моя переменная

55
задан Ciro Santilli 新疆改造中心 六四事件 法轮功 17 January 2016 в 12:52
поделиться

3 ответа

Эти строки являются подсказками для отладки (где действительно появился код, следующий за линией)

# line-number "source-file" [flags]

Значение флажков (пробел разделен):

  • 1 - Начало нового файла
  • 2 - Возврат к предыдущему файлу
  • 3 - Следующий текст поступает из файла системного заголовка (#include & lt;> vs #include "")
  • 4 - Следующий текст следует рассматривать как обернутый в неявный внешний блок «C».
70
ответ дан jdehaan 15 August 2018 в 15:36
поделиться

Это директивы синхронизации строк, которые позволяют gcc давать правильные сообщения об ошибках в файлах #include d. Другие препроцессоры (такие как yacc / bison) используют один и тот же механизм для связывания ошибок C с правильными строками в файле ввода .y.

1
ответ дан geekosaur 15 August 2018 в 15:36
поделиться
  • 1
    Нет, другие генераторы кода C, такие как bison, должны испускать директивы препроцессора #line .... – Basile Starynkevitch 19 July 2015 в 09:11

Эти linemarkers упомянуты в man gcc для опции -P.

Опция -P предназначена специально для того, чтобы избавиться от этих строк для ясности:

gcc -E -P source.c

См. подробную документацию (ранее).

43
ответ дан uvsmtid 15 August 2018 в 15:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: