macros- все статьи тега


Что сделало бы макросы препроцессора C++ приемлемым инструментом разработки?

По-видимому макросы препроцессора в C++ являются Оправданно боится и избегает сообщество C++. Однако есть несколько случаев, когда макросы C++ полезны. Видя в качестве препроцессора макросы могут быть чрезвычайно полезны и могут сократить повторяющийся код очень простым способом -- -- оставляет меня с вопросом, что именно делает макросы препроцессора "злыми", или, как название вопроса говорит, какая функция ( или удаление функции) была бы необходима из макросов препроцессора, чтобы ...

Как настроить Xcodes "debug / release target settings"?

Я нашел здесь множество замечательных макросов Objective C Macros Ставлю свои: #if DEBUG==1 #define .... macros В моем заголовочном файле. Теперь я просто не могу понять, где установить DEBUG=1 или DEBUG=0 в Xcode, чтобы он будет определять макрос при отладке, а не при выпуске. Надеюсь, кто-нибудь поможет мне найти недостающее выпадающее меню:) ...

Действительно ли гомоиконичность необходима для того, чтобы иметь макросы?

2012-02-04 спонсируется словом "гомоиконичность" http://en.wikipedia.org/wiki/Homoiconicity . Предыстория: Я собираюсь выбрать, какую книгу о Clojure купить - либо "Clojure in Action", либо (поступление в конце апреля) "Программирование Clojure" (вы можете прочитать ее через O'Reilly Rough Cuts, половина страниц видна). Что меня поразило, так это то, что в обеих книгах этому свойству-гомоиконичности-придавалось такое большое значение. С тех пор Корни Clojure основаны на Лиспе, я упомянул " ...

когда использовать JNIEXPORT и JNICALL в Android NDK?

Я пытаюсь написать свои собственные источники jni. Глядя на некоторые примеры ndk, я обнаружил, что они часто используют эти макросы JNIEXPORT и JNICALL follewed по имени пакета java, как это JNIEXPORT void JNICALL Java_com_example_plasma_PlasmaView_renderPlasma(JNIEnv * env, jobject obj, jobject bitmap, jlong time_ms) Я погуглил его, но я не могу понять, когда и как использовать эти макросы ...

c++: определение функции dllimport не допускается, построение с помощью visual studio 2010

Я использую visual studio 2010 для построения a .файл DLL. Я написал судебный процесс следующим образом: // trialDLL.h #ifndef TRIALDLL_H_ #define TRIALDLL_H_ // ... MyMathFuncs class definition omitted #ifdef __cplusplus extern "C"{ #endif #ifdef TRIALDLL_EXPORT #define TRIALDLL_API __declspec(dllexport) #else #define TRIALDLL_API __declspec(dllimport) #endif TRIALDLL_API MyMathFuncs* __stdcall new_MyMathFuncs(double offset); TRIALDLL_API void __stdcall del_MyMathFuncs(MyMathFuncs *myMath ...

Что такое ":-!!- на языке Си?

я наткнулся на этот странный макрокод в / usr / include / linux / kernel.h: /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) #define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); })) Что значит :-!! сделать? ...

Можно ли записывать и воспроизводить макросы в Visual Studio 2012/2013/2015/2017?

очевидно, макросы были удалены из Visual Studio 2012. есть ли плагин / расширение / инструмент, который позволит мне записывать и воспроизводить макросы клавиатуры (так же, как запись/воспроизведение временного макроса в Visual Studio 2010)? например, я обычно использую макрос при преобразовании кода с одного языка на другой или для быстрого создания свойств из текстового списка и т. д. ...

Что означает "#pragma comment"?

Что значит #pragma comment значит в следующий? #pragma comment(lib, "kernel32") #pragma comment(lib, "user32") ...

Сохранение макросов vim

кто-нибудь знает как правильно сохранить/использовать макросы, записанные внутри редактора Vim? ...

Макрос файла показывает полный путь

стандартный предопределенный макрос _ _ FILE__, доступный в C, показывает полный путь к файлу. Есть ли способ сократить путь? Я имею в виду вместо /full/path/to/file.c Я вижу to/file.c или file.c ...

Какой смысл делать while (0), когда мы определяем макрос? [дубликат]

Возможные Дубликаты:операторы Do-While и if-else в макросах C / C++ Я читаю ядро linux, и я нашел много макросов, как это: #define INIT_LIST_HEAD(ptr) do { (ptr)->next = (ptr); (ptr)->prev = (ptr); } while (0) почему они используют это, а не просто определить его в {}? ...

Что делает макрос Q OBJECT? Почему все объекты Qt нуждаются в этом макросе?

Я только начал использовать Qt и заметил, что все пример определения класса есть макрос Q_OBJECT в первой строке. Какова цель этого макроса препроцессора? ...

Как определить платформу / компилятор из макросов препроцессора?

Я пишу кросс-платформенный код, который должен компилироваться в linux, windows, Mac OS. В windows я должен поддерживать visual studio и mingw. есть некоторые части специфичного для платформы кода, которые я должен поместить в #ifdef .. #endif окружающая среда. Например, здесь я разместил специфический код win32: #ifdef WIN32 #include <windows.h> #endif но как я узнаю linux и mac OS? То, что определяет имена (или т. д.) Я должен использовать? ...

Где хранятся записанные макросы в Notepad++?

Я записал макрос, который я хочу поделиться с моим коллегой по работе. в каком месте эти записанные макросы сохраняются, так что я могу добавить его в свою машину? Если интересно, макрос предназначен для получения списка значений и добавления кавычек и запятой, чтобы его можно было использовать в WHERE предложение SQL-запроса (WHERE x IN ('value1','value2','value3')). ...

Как я могу показать значение #define во время компиляции?

Я пытаюсь выяснить, какая версия Boost мой код думает, что он использует. Я хочу сделать что-то вроде этого: #error BOOST_VERSION но препроцессор не расширяет BOOST_VERSION. Я знаю, что могу распечатать его во время выполнения из программы, и я знаю, что могу посмотреть на вывод препроцессора, чтобы найти ответ. Я чувствую, что способ сделать это во время компиляции может быть полезным. ...

Необязательные параметры с макросами C++

есть ли способ получить дополнительные параметры с помощью макросов C++? Какая-то перегрузка тоже была бы хороша. ...

Макрос Vim в каждой строке визуального выделения

Я хотел бы запустить макрос на каждой строке в выделении, а не суммировать количество строк в моей голове. Например, я мог бы написать макрос для преобразования: Last, First на First Last и я хотел бы, чтобы он работал на всех этих строках: Stewart, John Pumpkin, Freddy Mai, Stefan ... любые идеи гуру в Vim? EDIT: это всего лишь пример, очевидно, что это тривиально регулярное выражение, но есть и другие примеры, которые возникают не так просто, что я бы предпочел использовать макросы. ...

Как использовать Objective-C #define от Swift

Я мигрирую a UIViewController класс, чтобы немного потренироваться со Свифтом. Я успешно использую код Objective-C через заголовок моста, но у меня есть необходимость импортировать файл констант, который содержит #define директивы. Я видел в использование Swift с какао и Objective-C (простые макросы) следующие: Простые Макросы где вы обычно использовали #define директива для определения примитива константа в C и Objective-C, в Swift вместо этого используется глобальная константа. Напри ...