Как включить в C одну строку - PullRequest
5 голосов
/ 08 декабря 2011

По слухам, есть возможность включить в C одну строку (возможно, с помощью gcc)что в cpp docs.

Или какие препроцессоры позволяют делать такие уродливые хаки?!

Ответы [ 5 ]

4 голосов
/ 08 декабря 2011

Я никогда не слышал о такой функции, и я, конечно, не сталкивался ни с какими препроцессорами, которые бы ее поддерживали.

В любом случае это звучит как действительно плохая идея. Что если кто-то вставит пустую строку вверху file.h ... вы будете рады, если это изменение нарушит вашу программу?

Если вы контролируете file.h, я думаю, что лучший подход - это извлечь строку 5 в отдельный заголовок, а #include - и в file.h, и в вашу основную программу.

2 голосов
/ 08 декабря 2011

Может быть, вы перепутали это с

#line lineno filename

директива?

2 голосов
/ 08 декабря 2011

Я не думаю, что это возможно с GCC или любым другим компилятором в этом отношении.

1 голос
/ 08 декабря 2011

http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html#Include-Syntax

невозможно с gcc, и если это возможно с препроцессором какого-либо компилятора, это создаст абсолютный беспорядок.

0 голосов
/ 08 декабря 2011

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

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