Вопросы по теме 'c11'

Как макрос может определить допустимое глобальное имя на основе переданного ему типа?
Я считаю, что название говорит само за себя, но вот пример, иллюстрирующий то, что я пытаюсь сделать: #define PASTE2(_0, _1) _0 ## _1 #define DEFINE_OPS_FOR_TYPE(TYPE) \ int PASTE2(do_something_with_, TYPE)(void) { \...
313 просмотров
schedule 22.01.2024

Неопределенная ссылка на gets_s?
Я использую gcc в Ubuntu 4.6.1 и SUSE 4.6.2 со следующей командой gcc gets_s.c Мой исходный код // Read and Display Lines // gets_s.c #include <stdio.h> int main(void) { char first_name[11]; char last_name[11];...
5661 просмотров
schedule 02.01.2024

Что это за странные размеры массивов [*] и [static] в C99?
По-видимому, следующие прототипы функций действительны в C99 и C11: void foo(int a[const *]); void bar(int a[static volatile 10]); Какова цель этих странных индексных обозначений * , static и квалификаторов CV? Помогают ли они отличать...
1815 просмотров
schedule 19.01.2024

Использование strdup в C11
Я могу скомпилировать следующее, используя gcc версии 4.7.2. #include <string.h> int main(){ char text[] = "String duplicate"; char* dup = strdup(text); return 0; } Но когда я использовал флаг --std=c11, я получаю...
5054 просмотров
schedule 03.02.2024

почему в C11 нет выровненного calloc
Стандарт C11 добавил функцию aligned_alloc для выделения неинициализированной выровненной памяти. Стандарт также включает функцию calloc для выделения памяти, которая инициализируется нулем, но только выравнивает ее по размеру самого большого...
2122 просмотров

Файл uchar.h не найден в OS X 10.9
У меня сложилось впечатление, что мой компилятор C поддерживает C11, поскольку он принимает флаг -std=c11, $ cc --version Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Target: x86_64-apple-darwin13.3.0 Thread model: posix и...
3332 просмотров
schedule 06.02.2024

Что такое исходный файл для стандарта C11
У меня есть сомнения по поводу предложения в этом абзаце стандарта C11: 5.1.1.1 Структура программы Программу на C не нужно переводить все одновременно. Текст программы хранится в единицах, называемых в настоящем стандарте исходными...
263 просмотров
c c11
schedule 21.03.2024

Мертвая ветвь выражения _Generic, вызывающая ошибку компилятора (C11)
Мне было интересно написать макрос проверки типа, который выдает предупреждение только в том случае, если тип не является int/short/long или указателем . Проблема, с которой я столкнулся, заключается в том, что указатель может быть любым...
134 просмотров
schedule 03.03.2024

Условные выражения без ветвей для целых чисел — быстро, но можно ли их сделать быстрее?
Я экспериментировал со следующим и заметил, что определенное здесь «if» без ветвления (теперь с &-!! заменой *!! ) может ускорить код определенного узкого места почти в 2 раза на 64-битных целевых устройствах Intel с clang: // Produces x if...
3971 просмотров

Кросс-файл #if и #endif - должно ли это быть законным?
Согласно стандарту C11, Предварительная обработка директивы формы # включить новую строку "q-char-sequence" вызывает замену этой директивы всем содержимым исходного файла, идентифицированного указанной последовательностью между...
384 просмотров

Какой процессор тестировать C++11/C11 получить семантику выпуска
Я ищу процессор, который выполняет чтение/сохранение выпуска с той же семантикой, которая указана в стандартах C11/C++11. Синхронизация процессора x86 слишком сильна, поэтому невозможно протестировать алгоритм без блокировок с использованием...
61 просмотров
schedule 24.11.2023

Объявление константы перечисления и определение — стандарт C
Стандарт C11 определяет в раздел 6.7/5 : C11 6.7/5 Определение идентификатора — это объявление для этого идентификатора, которое: (...) — для константы перечисления является (единственным) объявлением идентификатора;...
82 просмотров