Вопросы с тегом 'preprocessor-directive'

Инструкции к препроцессору, которые контролируют, как он изменяет исходный текст
16

#ifdef замена на языке Swift

В C/С++/Objective-C вы можете определить макрос, используя препроцессоры компилятора. Более того, вы можете включать/исключать некоторые части кода с помощью препроцессоров компилятора. #ifdef DEBUG // Debug-only code #endif Есть ли аналогично...
02 июн. '14 в 21:06
6

Может ли gcc вывести код C после предварительной обработки?

Я использую библиотеку с открытым исходным кодом, которая, как представляется, имеет множество предпроцессорных директив для поддержки многих языков, отличных от C. Чтобы я мог изучить, что делает библиотека, мне бы хотелось увидеть код C, который я ...
04 февр. '11 в 17:18
13

Запрещено ли #define в отраслевых стандартах?

Я первый студент-информатик, и мой профессор сказал, что #define запрещен в отраслевых стандартах вместе с #if, #ifdef, #else и несколькими другими директивами препроцессора. Он использовал слово "запрещено" из-за неожиданного поведения. Это точно?...
28 дек. '15 в 15:42
3

Может ли #if директивы pre-processor быть вложенными в С++?

У меня вопрос о предпроцессорных директивах в С++: Например: #ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif Можем ли мы использовать его таким образом и может ли компилятор С++ соответствовать ifndef и end...
13 июл. '11 в 11:52
4

Что такое двойная оценка и почему ее следует избегать?

Я читал это в С++, используя макросы вроде #define max(a,b) (a > b ? a : b) может привести к "двойной оценке". Может ли кто-нибудь дать мне пример того, когда происходит двойная оценка и почему это плохо? PS: Удивительно, но я не мог найти под...
11 сент. '16 в 18:13
8

Заставить компилятор игнорировать некоторые строки в программе

Предположим, что у меня есть 10 000 строк кода на С++. 200 строк этого кода предназначены для тестирования (например, проверьте программу и покажите сообщение об ошибке). Есть ли способ в С++ игнорировать или рассматривать некоторые строки кода (воз...
21 янв. '14 в 11:03
3

Существует ли препроцессорная директива для обнаружения поддержки С++ 11x?

Если у вас есть код, в котором я хотел бы использовать расширения С++ 11x как можно больше, но иметь резервную копию, если это не поддерживается. В настоящее время версия GCC для OSX и компилятор VisualC практически не поддерживают С++ 11x, поэтому я...
23 мая '12 в 9:53
5

C Определение препроцессора для тестирования нескольких макросов

Я искал сайт, но не нашел ответ, который я искал, поэтому вот очень быстрый вопрос. Я пытаюсь сделать что-то вроде этого: #ifdef _WIN32 || _WIN64 #include <conio.h> #endif Как я могу это сделать? Я знаю, что _WIN32 определен как для 32...
08 июн. '09 в 16:14
8

Как избежать символа # в макросе #define?

Не вдаваясь в детали gory, я хочу использовать макрос #define, который будет расширяться до #include, но знак '#' путает препроцессор (поскольку он считает, что я хочу привести аргумент.) Например, я хочу сделать что-то вроде этого: #define MACRO(...
16 июл. '09 в 6:49
2

#if 0 vs #if (1> 1)? Любая подсказка

Я работаю с устаревшим кодом и нашел это: #if (1 > 1) //define some function #endif Не уверен, как это может отличаться от более типичного #if 0, чтобы прокомментировать код? Любые мысли?
05 мая '16 в 21:03
4

Как определяется директива __cplusplus в разных компиляторах?

Мой компилятор расширяет его до 199711L. Что это значит? Я читал, что __cplusplus > 199711L означает С++ 11. Каковы возможные расширения этого макроса и что это означает?
15 июн. '12 в 15:40
4

#if директива препроцессора для директив, отличных от DEBUG

Я знаю, что я могу использовать директивы препроцессора для проверки Debug/Release, выполнив следующие действия: #if DEBUG //debug mode #elif //release mode #endif но как насчет проверки других конфигураций, например Test. В VB вы можете ...
21 дек. '12 в 13:16
3

Objective-C директива препроцессора для 'if not'

Я понимаю, как использовать директиву препроцессора следующим образом: #if SOME_VARIABLE // Do something #else // Do something else #endif Но что, если я только хочу сделать что-то, ЕСЛИ НЕ НЕКОТОРЫЕ_ВАРИЙНЫЕ. Очевидно, я все еще мог это ...
04 июн. '12 в 11:30
5

Как предоставить директивы препроцессора в Java

Как я могу правильно выполнить следующие функции из С# в Java? [С#] #define PRODUCTION //Change from sandbox to production to switch between both systems. #if SANDBOX using NetSuite.com.netsuite.sandbox.webservices; #endif #if PRODUCTION ...
12 дек. '13 в 14:50
7

Когда использовать директивы препроцессора в .net?

Я думаю, что это простой вопрос, поэтому я предполагаю, что мне не хватает чего-то очевидного. Я на самом деле никогда не использовал директивы препроцессора, но я смотрел на код, который сделал и думал, что это то, с чем я должен быть знаком. Итак,...
19 нояб. '10 в 5:24