Вопросы с меткой [препроцессор]

Препроцессор — это программа, принимающая данные на входе и выдающая данные, предназначенные для входа другой программы (например, компилятора). Используйте метку для вопросов, которые напрямую связаны с работой препроцессора, а не косвенно затрагивают его.

Фильтрация
Сортировка
Метки
0 голосов
0 ответов
54 показа

Как в препроцессоре Си проверить наличие функции

Мной пишется код, вставляемый далее в чужой проект, компилируемый неизвестным мне компилятором. Используется вроде бы стандартная библиотека math.h, однако на практике набор объявляемых в ней функций ...
Artem's user avatar
  • 1
0 голосов
0 ответов
46 показов

Ошибка при использовании "switch { case __LINE__: ... }"

void foo(long i) { switch (i) { case __LINE__: // <- Ошибка C2051 значение выражения для варианта выбора не является константой break; } } При использовании такой ...
Андрей's user avatar
1 голос
1 ответ
83 показа

Почему не работает код на ассемблере?

Написал код на си с ассемблерными вставками, сначала вводил все переменные по отдельности, но потом решил упростить, с помощью макросов. Работать перестало, если у кого есть идеи как это изменить, то ...
user avatar
1 голос
1 ответ
181 показ

Как можно остановить компиляцию программы на этапе препроцессинга?

Как можно получить код, который получается после этапа препроцессинга программы? Как это можно сделать с помощью опций в командной строке?
Kurr200's user avatar
  • 535
3 голоса
2 ответа
67 показов

Некорректная работа Ifdef elif

Коллеги, добрый день, подскажите пожалуйста, почему у меня не выполняется условие elif? #include <iostream> #define debug int main() { #ifdef DEBUG std::cout << "DEBUG"; #...
SALUTE's user avatar
  • 107
0 голосов
0 ответов
95 показов

как работает alignas в с++?

Я хочу защитить несколько атомарных переменных от фолс шеринга, как я понимаю, это можно сделать, указав чтоб переменные занимали одну строку кеша. Я нашел, что этого можно добиться с помощью alignas(...
Denver Toha's user avatar
  • 2,595
0 голосов
2 ответа
40 показов

Манипуляции с макросами

Есть вот такой простой блок кода, который печатает b, я что-то упускаю из вида, почему так происходит? #include <iostream> constexpr int STACKUSE = 1; int main() { #if STACKUSE == 1 ...
James's user avatar
  • 180
-2 голоса
1 ответ
479 показов

Ошибка "expected primary-expression before';' token" [закрыт]

#include <stdio.h> #include <cmath> #define pow(t,r) using namespace std; int f1(float y, float x,float t, float r, float pi) { pi = 3.1415; t=(-x); r=(2); cout << ...
Артур Кузнєцов's user avatar
1 голос
1 ответ
94 показа

Макрос на генерацию функций при помощи _Generic

Приветствую откликнувшихся! Столкнулся с задачей, где нужно было написать конверторы из void* простого типа в строку, Что бы использовать их далее при конвертации сложных структур в строки. Описал ...
Young Sideways's user avatar
0 голосов
1 ответ
50 показов

Странное поведение препроцессора

Рассмотрим следующий код: class Type { public: void Method(){}; }; #define Method ... int main() { Type type; type.Method(); return 0; } Является ли нормальной ситуация, при ...
MGNeo's user avatar
  • 4,128
0 голосов
1 ответ
50 показов

Preprocessor initialize array

Как, по необходимости прибегнув к boost preprocessor, инициализировать массив по примеру: INIT_ARRAY(plus,minus) //extract to std::array<std::pair<char const *,std::string>, 2> array{{ {&...
Spaghetti Man's user avatar
0 голосов
1 ответ
44 показа

python. Исходные данные после preprocessing.scale

Возможно, глупый вопрос. Но вот ситуация: В функцию приходят данные X = даты в timestamp, Y = значения соответствующие данной дате. Я хочу построить приближенную кривую по этим данным. Мне естественно ...
Виктория Жукова's user avatar
0 голосов
1 ответ
50 показов

Как правильно написать конструкцию, определяющую некоторое выражение через #define в зависимости от некоторого условия?

Необходимо выполнить следующий алгоритм: если (выражение1) то #define флаг1 если (выражение2) то #define флаг2 если (флаг1) {...} если (флаг2) {...} Можно считать, что "выражение1" ...
CoSalamander's user avatar
0 голосов
1 ответ
108 показов

Как работает #include &#60;iostream>

Недавно решал тренировочный вариант ОГЭ по информатике и нашёл вот такую задачу: #include &#60;iostream> using namespace std; int main() { int s,t; cin >> s; cin >> t; ...
Стас's user avatar
  • 2,120
1 голос
2 ответа
342 показа

Как правильно вызвать макрос в макросе

Мне необходимо бъеденить несколько передаваемых в макрос параметров, в один целый, для этого есть 2 макроса, string_join и helper_name (префиксы опустил). Но когда макрос должен развернуться к примеру ...
user avatar
3 голоса
1 ответ
38 показов

Можно ли опускать параметры макроса, когда они не нужны?

Допустим, уменя есть много повторяющегося кода, на проверку значения на NULL, и разные действия. Решив сократить повторяющийся код, я написал несколько макросов: #ifndef KODIK_IF_NULL_RETURN /** * \...
user avatar
3 голоса
2 ответа
307 показов

Как реализовать подстановку заголовочных файлов в зависимости от платформы

Предположим, у меня есть папка root, в ней 3 папки Windows, Linux и APPLE. В каждой из них хранится заголовочный файл hpp и файл с кодом cpp. В root же хранится заголовочный файл thirdparty.hpp, ...
Alrott SlimRG's user avatar
3 голоса
2 ответа
295 показов

Как использовать внутренние typedef обоих классов при взаимном включении заголовочных файлов?

Введение: Допустим, есть два класса A и B, определённые каждый в своей паре файлов .h и .cpp. Код файлов представлен ниже: Файл A.h #pragma once class A { public: A(void); ~A(void); void ...
V-Mor's user avatar
  • 5,127
1 голос
1 ответ
110 показов

Перегрузка функции через макрос, предупреждение в _Generic на каст перекрестно

Есть код, в котором происходит перегрузка функции через макрос. Компилятор выдаёт предупреждение на каст переменных, но скомпилированная программа работает правильно. Подавление предупреждений не ...
seityaya's user avatar
4 голоса
2 ответа
117 показов

Как узнать через код, поддерживает ли целевой компилятор С++ тип long long int?

Я пишу кроссплатформенную библиотеку. Код будет компилироваться под разные платформы разными компиляторами, и, возможно, некоторые из них не поддерживают целые числа 64 битной разрядности. Хотелось бы ...
arelive's user avatar
  • 188
1 голос
1 ответ
51 показ

почему не работает этот код, когда как у другого разработчика этот код работает?

изучаю программу unrealircd. там есть такой код. list_for_each_entry(client, &lclient_list, lclient_node) (void) send_queued(client); я посмотрел где ...
user avatar
4 голоса
1 ответ
131 показ

Ошибка при использовании _Generic

Навеяно этим вопросом. Вот есть рабочий код: #include <stdio.h> struct Point { int x; int y; }; #define CHECK_TYPE(X) _Generic((X), \ int: "int", \ ...
user avatar
1 голос
3 ответа
146 показов

Макрос для проверки возвращаемого значения

Хочу написать макрос для семейства функций pthread_*, который бы сравнивал результат функции с нулём, и если значение отлично от нуля вызывал бы мою функцию, передавая в неё это значение Макрос ...
Stuthedian's user avatar
0 голосов
1 ответ
65 показов

Stylus, использование calc() в миксинах не работает с переменными. Есть ли костыль?

В итоге должна работать так: adaptiv-text(minFontSize, minWidthDisplay, plusFontSize, maxWidth) // (минимальный размер текста) font-size: (minFontSize)rem // (минимальная ширина) @media ...
Роман Василаки's user avatar
4 голоса
1 ответ
268 показов

Как вызвать название переменной в #define?

#define trace(x) cout << "x=" << x; Я хочу чтобы при вызове int a = 5; trace(a) вывод был a=5. Как это реализовать?
LIshy2's user avatar
  • 593
0 голосов
1 ответ
156 показов

Директива #pragma не работает. Си

есть простой код: # include <stdio.h> void function_before_main(); void function_after_main(); # pragma startup function_before_main 64 # pragma exit function_after_main 65 int main() { ...
solarisedigle's user avatar
0 голосов
1 ответ
395 показов

Включение функций из заголовка с помощью define

Файл a.h #pragma once #define _A_DEF #include "b.h" class A { }; // А класс Файл b.h #pragma once #define _B_DEF #ifdef _A_DEF #define _PROV_A_DEF #endif class B { }; // B класс _A_DEF ...
dreamIIx's user avatar
  • 197
0 голосов
1 ответ
56 показов

Как сделать дробные значения CSS-свойства в цикле for предпроцессора Sass?

Есть цикл for,который после компиляции создает нужные мне классы: $metric_mt: mt; $metric_mb: mb; @for $i from 1 to 35 { .#{$metric_mt}-#{$i}{ margin-top: 0rem + $i; } } ...
Александр Андреев's user avatar
0 голосов
1 ответ
219 показов

Как подружить Gulp и его browser-sync с PHP?

Как подружить Gulp и его browser-sync с PHP? ЧТО НАДО ПОМЕНЯТЬ В gulpfile.js чтобы он обновлял страницу при изменении php var syntax = 'sass', // Syntax: sass or scss; gulpVersion =...
nikitakashin's user avatar
-4 голоса
1 ответ
88 показов

Как объявить функцию, если не объявлена

На ОС Linux есть функция getchar_unlocked() Но Шинде такая функция по-умолчанию undefined Я тут подумал, можно ли проверять, объявлена ли функция и если нет - объявить самим Есть код: #ifdef ...
Alrott SlimRG's user avatar
0 голосов
1 ответ
878 показов

ошибка g++ "undefined reference to " [дубликат]

Возникает ошибка при компиляции в g++. Строки из Makefile: generation: generation.cpp source.hpp source.cpp g++ -o generation generation.cpp sens.cpp Ошибка следующая: /tmp/ccosdWFb.o: In function `...
Jane_Brown's user avatar
6 голосов
2 ответа
488 показов

Препроцессор: превратить __LINE__ в строку

Навеяно этим вопросом. Все время от времени пользуются отладочным выводом с предопределенными макросами типа cout << __FILE__ << " line " << __LINE__ << endl; Задумался - ...
Harry's user avatar
  • 221k
2 голоса
0 ответов
114 показов

Как работает #define?

Не могу понять, как работает #define. Понимаю только, что при проверке с помощью #if будет выполняться или не выполнять код, в зависимости от того прописанный ли ранее #define, хорошо, но вопрос вот в ...
k0vpack's user avatar
  • 499
2 голоса
1 ответ
69 показов

Когда происходит определение константы Q_OS_WIN32?

Хочу использовать кроссплатформенную функцию sleep. В одном из вопросов было предложено такое вот решение. Поскольку в qt есть такие константы как Q_OS_WIN32 и Q_OS_LINUX, решил использовать их, ...
Андрей Солодовников's user avatar
1 голос
1 ответ
149 показов

Хранение изображений в директории отдельного блока

При сборке проекта на gulp использую следующую структуру файлов |--blocks |--block.pug |--block.scss |--block.js Для каждого самостоятельного блока на сайте создаю директорию, куда ...
Flap Jack's user avatar
  • 169
1 голос
0 ответов
137 показов

Как подключить препроцессор CSS к HTML?

Как реализовать вот такое подлючение препроцессоров ?
Энрико Такатти's user avatar
2 голоса
2 ответа
11k показов

Проблема "требуется идентификатор" элемента max()

Столкнулся с проблемой перекрывания друг друга одноимёнными программными элементами (если это так можно назвать). То есть, используя max вместе с библиотекой windows.h, в которой содержится директива: ...
Steindvart's user avatar
1 голос
1 ответ
194 показа

Директивы условной компиляции. Почему не работает программа?

Честно сказать пока не совсем врубился в тему условной компиляции. В книге у меня эта тема описана как маленькое приложение к книге. Поэтому мало что сказано про неё. Взял пример из книги и решил его ...
JustLearn's user avatar
  • 672
0 голосов
2 ответа
128 показов

Директивы препроцессора, pt2 и макросы в header файле

Есть header с набором макросов, переопределяющих имена функций, но почему то работает только первый #ifdef, а все остальные не подключаются и вне зависимости от того, какой тип переменной я определяю, ...
Светлана's user avatar
4 голоса
3 ответа
748 показов

Директивы препроцессора #ifdef #define и #undef

В чем здесь проблема? Почему n всегда равно либо 100 и 100, либо 200 и 200, как ни крути. #include <stdio.h> #include <iostream> using namespace std; #ifdef A #define N 100 #else ...
Светлана's user avatar
0 голосов
1 ответ
177 показов

Ошибка при создании объекта класса

Всем привет. Только начал изучать C++, ранее только C#. Почему появляется ошибка? #include "Process.h" #include "cVehicle.h"; #include <vector> using namespace std; ...
CrazyProgrammist's user avatar
3 голоса
2 ответа
397 показов

Посмотреть код без инструкций препроцессора

Есть ли программа, которая бы как компилятор начинала собирать проект и останавливалась после этапа препроцессора? Чтобы оставался чистый код, как если бы его писали без препроцессорных команд. Хотя ...
Belenot's user avatar
  • 750
1 голос
2 ответа
399 показов

C/C++, комментарии внутри макросов

Подскажите, можно ли делать в C/C++ внутри макросов комментарии? И если да, то: 1) Как сделать комментарии в тривиальном многострочном макросе: #define BEGIN_MACRO\ for (...;...;...)\ {\ if (......
user avatar
1 голос
1 ответ
348 показов

#DEFINE в C# (Unity)

Прогаю на С# в Unity, нередко используя команды препроцессора #if/#endif, #region/#endregion и прочие. Однако я помню такую команду как #define (когда-то давно приходилось пользоваться), но нигде ...
Иван Малышев's user avatar
0 голосов
1 ответ
518 показов

как правильно подключить переменные sass к angular 6

есть файл _variables.sass в нем хранятся все глобальные переменные но для компонентов они не доступны. правильно ли будет подключать таким образом в КАЖДЫЙ компонент эти переменные ? @import "...
Aleksey exec's user avatar
1 голос
1 ответ
220 показов

Scss вложенное правило для отдельного селектора

Существует ли возможность в scss(sass) создать вложенное правило для отдельного селектора. В scss есть возможность писать стили для детей и имен с родительским префиксом &, а мне нужно во вложение ...
kizoso's user avatar
  • 9,333
0 голосов
1 ответ
219 показов

Ошибки макроопределений или препроцессора

Есть небольшой макрос: #define STD_DECLARE_UNIQUE_PTR_DC(NAME, TYPE) \ typedef std::unique_ptr<TYPE, void(*)(TYPE*)> NAME; В нескольких файлах, он используется, и определяет несколько типов ...
user avatar
0 голосов
2 ответа
221 показ

как разбить main.c на несколько маленьких файлов

Начинаю работать в Eclipse и компилирую файл main.c всё компилируется, всё нормально. Но хочется простого хомячьего комфорта. И хочется некоторые куски исходного текста держать в отдельных файлах и ...
Alexey Ershov's user avatar
0 голосов
0 ответов
132 показа

Как регулировать нагрузку на процессор с помощью javascript?

Как регулировать нагрузку на процессор с помощью javascript. Или вобще есть какой-то метод для получения доступа к информации цп или взаимодействие с ним.
escapro's user avatar
  • 405
3 голоса
2 ответа
74 показа

Упростить написание кода макросом

Имеется множество примерно таких методов: void libvlc::Interop::LibVLCHelper::libvlc_media_player_set_media(libvlc_media_player_t * p_mp, libvlc_media_t * p_md) { if (!...
user avatar