Описание тега predefined-macro

4 ответа

Почему мой макрос не компилируется?

#define LINE_FILE ("Line"#__LINE__"of file"__FILE__) int main(void) { printf("%s", LINE_FILE); } Что я ожидал: LINE_FILE = "Линейный номер строки имени файла " а также printf() может вывести эту строку. http://ww2.sinaimg.cn/large/005FchG6gw1esb0pvw…
20 май '15 в 13:04
6 ответов

Как использовать предопределенные макросы __DATE__ и __TIME__ как два целых числа, а затем stringify?

Хотите использовать __ DATE __ и __ TIME __ как целое число для предоставления автоматической версии моего кода во время компиляции. #define STRINGIZER(arg) #arg #define STR_VALUE(arg) STRINGIZER(arg) #define DATE_as_int_str useD(__DATE__) // What c…
28 июл '12 в 02:40
1 ответ

Как установить предопределенные макросы в Code::Blocks

Есть ли способ установить некоторые предопределенные макросы для моей локальной установки Code::Blocks. Чтобы уточнить это, в основном я хотел бы, чтобы определенные блоки компилировались только на ПК, а не в любое место, куда я отправляю код. Один …
01 ноя '10 в 07:29
3 ответа

Почему __FUNCTION__ не определен?

У меня есть библиотека C++, которая использует предопределенный макрос __FUNCTION__, в виде crtdefs.h. Макрос задокументирован здесь. Вот мое использование: my.cpp #include <crtdefs.h> ... void f() { L(__FUNCTIONW__ L" : A diagnostic message")…
05 май '14 в 21:34
1 ответ

Макрос, переданный из компиляции, не может быть разрешен в Eclipse

Я пытаюсь передать определенный макрос в мою программу во время компиляции следующим образом: #include <stdio.h> int main() { // KEY_CNT is not defined in program but passed at compile time printf("KEY_CNT: %d", KEY_CNT); return 0; } и скомпил…
22 сен '16 в 04:17
1 ответ

Проверьте, является ли компилятор Turbo C++

В настоящее время я имею дело с устаревшим кодом, разработанным для Turbo C++. Чтобы обойти Turbo C++ отсутствие bool Тип данных, программа содержит следующую строку кода. // Necessary when compiling with Turbo C++ enum bool {false, true}; Большинст…
12 ноя '16 в 19:40
1 ответ

Что такое __VMKLNX__ в заголовочных файлах Linux?

Во многих модулях ядра Linux (аппаратных драйверах) их исходные заголовочные файлы можно выделить такие строки: #ifndef __VMKLNX__ __VMKLNX__ не определен в исходном коде этого модуля. Предположение таково, что __VMKLNX__ предопределенный макрос для…
5 ответов

Обнаружение ICC против GCC во время компиляции

Как определить, во время компиляции, если я использую gcc или icc? (Я был довольно озадачен, узнав, что ICC определяет __GNUC__ -- и даже __GNUC_MINOR__ а также __GNUC_PATCHLEVEL__! Зачем?)
20 апр '11 в 21:21
2 ответа

Определение требуемой памяти на целевом процессоре

В настоящее время я пытаюсь создать код, который должен работать на самых разных машинах, от карманных компьютеров и датчиков до больших серверов в центрах обработки данных. Одним из (многих) различий между этими архитектурами является требование со…
1 ответ

Функция определения C++, использующая макрос #define для проверки результата com

Поэтому я работаю над приложением для Windows и решил написать несколько вспомогательных функций для проверки HRESULT, возвращаемого любой связанной с com функцией при ее вызове. Я пытаюсь определить эти функции в блоке макроса #define, но я действи…
16 дек '15 в 22:09
2 ответа

Базовое имя файла из __FILE__

Мне нужно имя файла только там, где __FILE__ а также __FILEW__ макросы возвращают весь путь. Я определил следующее: #define __FILE_NAME_ONLY__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) Я использую это следующим образом: #def…
15 дек '14 в 21:59
0 ответов

G++ 4.5.x -включить + __BASE_FILE__ нелогичное поведение?

Посмотрите эту постоянную ссылку Wandbox или MWE ниже для подробностей. Короче говоря - когда я насильно #include заголовочный файл, который использует __BASE_FILE__ используя GCC -include я получаю <command-line> для расширения __BASE_FILE__ …
01 ноя '17 в 14:59
0 ответов

Предопределенные макросы GCC для архитектуры X

Я гуглил список предопределенных макросов для архитектуры, используемой gcc, но безуспешно. Есть ли такой список или мне нужно -dM для кросс-компиляторов.
07 апр '13 в 09:22
0 ответов

Сделайте Visual Studio 2017 IDE #define __cplusplus при просмотре заголовочного файла

Я использую Visual Studio 2017 для работы со встроенным проектом с файлами C и C++, и я использую компилятор C++ для всего. При просмотре файла заголовка в IDE предопределенный символ __cplusplus не определяется. Это влияет на подсветку синтаксиса I…
5 ответов

Как я могу написать макрос "зажим" / "клип" / "связанный" для возврата значения в заданном диапазоне?

Я часто пишу что-то вроде int computedValue = ...; return MAX(0, MIN(5, computedValue)); Я хотел бы иметь возможность написать это в виде одного однострочного макроса. Он не должен иметь побочных эффектов, так же, как существующие системные макросы …
08 фев '13 в 09:39
3 ответа

Существуют ли конкретные определения linuxthreads и nptl?

У меня есть программа, которая должна работать по-разному для linuxthreads и nptl. Есть ли в этих библиотеках определения, которые можно использовать в моей программе для обнаружения, используется ли nptl или есть linuxthreads? ОБНОВЛЕНИЕ 1: Для вре…
18 авг '10 в 13:09
1 ответ

Есть ли предопределенные макросы, определяющие порядок байтов в armcc?

Есть ли предопределенные макросы, определяющие порядок байтов в armcc. Я новичок в armcc.and извините за мой английский. В gcc это макросы: __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ __ORDER_BIG_ENDIAN__ __ORDER_PDP_ENDIAN__ ... Теперь я должен использо…
22 июн '15 в 10:58
1 ответ

Есть ли способ экспортировать предопределенные макросы из конфигурации сборки Keil?

Контекст: Я пытаюсь автоматизировать некоторые из более приземленных задач во встроенной разработке с Keil. Конечный результат, к которому я стремлюсь, состоит в том, что щелчок по сборке в проекте Keil запустит этап предварительной сборки, который …
23 июн '17 в 10:10
5 ответов

Как я могу использовать #pragma message(), чтобы сообщение указывало на файл (lineno)?

Чтобы добавить элементы todo в мой код, я хочу поместить сообщение в вывод компилятора.Я хотел бы, чтобы это выглядело так: c:/temp/main.cpp(104): TODO - add code to implement this чтобы использовать функциональность вывода сборки Visual Studio для …
2 ответа

C++ получает месяц как число во время компиляции

У меня есть проект C++, который должен напечатать строку ревизии. Строка редакции определяется компанией, а протокол включает время сборки в формате гггг / мм / дд. Я использую это как макрос из системы сборки, но это больше не вариант, потому что п…
04 ноя '13 в 01:07