Я бы хотел сделать что-нибудь вроде #print "C Preprocessor got here!" в целях отладки. Какой лучший / самый портативный способ сделать это?
Я бы хотел сделать что-нибудь вроде #print "C Preprocessor got here!" в целях отладки. Какой лучший / самый портативный способ сделать это?
Есть ли способ встроить оператор прагмы в макрос с другими операторами? Я пытаюсь добиться чего-то вроде: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Я согласен с решениями по усилению...
Я знаю, что #defines и т. Д. Обычно не имеют отступа. Зачем? Я сейчас работаю над кодом, который представляет собой ужасную смесь #defines, #ifdefs, #elses, #endifs и т. Д. Все это часто смешивается с обычным кодом C. Отсутствие отступов#define s делает их трудными для чтения. А смесь кода с...
Этот вопрос развился за последние несколько недель, чтобы охватить более общие проблемы с xcode4 (и модернизация проектов из более старых xcodeс). Однако многие проблемы можно решить, следуя тем же инструкциям. Если у вас есть какие-либо из следующих проблем, попробуйте методы, указанные в...
Я всегда спрашивал об этом, но никогда не получал действительно хорошего ответа; Я думаю, что почти любой программист, даже до написания первого «Hello World», сталкивался с такими фразами, как «макрос никогда не должен использоваться», «макросы - это зло» и так далее. У меня вопрос: почему? Есть...
Я вижу, что во всей нашей базе кода C каждый макрос определяется следующим образом: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define...
Мне нужно сделать что-то подобное в C. Это работает, только если я использую char, но мне нужна строка. Как я могу это сделать? #define USER "jack" // jack or queen #if USER == "jack" #define USER_VS "queen" #elif USER == "queen" #define USER_VS "jack" #endif...
Я пытаюсь понять, как я могу объединить #define'd int в #define' d строку с помощью препроцессора C. Мой компилятор - GCC 4.1 для CentOS 5. Решение также должно работать для MinGW. Я хотел бы добавить номер версии к строке, но единственный способ заставить его работать - это сделать копию номера...
Как упоминалось во многих моих предыдущих вопросах, я работаю через K&R, а сейчас занимаюсь препроцессором. Одна из наиболее интересных вещей - чего я никогда раньше не знал из своих предыдущих попыток изучить C - это ##оператор препроцессора. Согласно K&R: Оператор препроцессора ##...
Вот что я пытаюсь сделать: typedef enum { ONE, TWO, THREE } Numbers; Я пытаюсь написать функцию, которая будет выполнять случай переключения, подобный следующему: char num_str[10]; int process_numbers_str(Numbers num) { switch(num) { case ONE: case TWO: case THREE: { strcpy(num_str, num); //some...
У меня вопрос о директивах препроцессора в c ++: Например: #ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif Можем ли мы использовать его таким образом, и может компилятор C ++ соответствовать ifndefи endifв правильном направлении?...
По крайней мере, некоторые препроцессоры C позволяют вам преобразовать значение макроса в строку, а не его имя, передав его через один функционально-подобный макрос другому, который преобразовывает его в строку: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define...
#include <stdio.h> #define decode(s,t,u,m,p,e,d) m##s##u##t #define begin decode(a,n,i,m,a,t,e) int begin() { printf("Ha HA see how it is?? "); } Это косвенно вызывает main? как?
Я пытаюсь написать что-то вроде этого: #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endif Есть ли способ дать COV_ONтакое определение ? Я знаю, что то, что я сделал выше, неправильно, так как я не могу использовать #ifdef#define. ( #не разрешенный символ в #define). Так есть...
В C ++ это: #ifdef A && B такой же как: #if defined(A) && defined(B) ? Я думал, что это не так, но я не смог найти разницы с моим компилятором (VS2005).
Я новичок в Objective-C, и у меня есть несколько вопросов относительно constдирективы предварительной обработки #define. Во-первых, я обнаружил, что невозможно определить тип константы с помощью #define. Это почему? Во-вторых, есть ли преимущества в использовании одного из них перед другим?...
Как сделать макрос многострочного препроцессора? Я умею составлять одну строчку: #define sqr(X) (X*X) но мне нужно что-то вроде этого: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; Как я могу заставить это работать? Это только пример, настоящий макрос может быть...
Почему выполняется #ifусловие в следующем коде: #include <iostream> #define VALUE foo int main() { #if VALUE == bar std::cout << "WORKS!" << std::endl; #endif // VALUE
Возможно ли с помощью препроцессора C / C ++ подсчитать строки в исходном файле либо в макросе, либо в некотором виде, доступном во время компиляции? Например, я могу заменить MAGIC1, MAGIC2и MAGIC3в следующем, и получить значение 4 как-то при использовании MAGIC3? MAGIC1 // can be placed wherever...