Вопросы с тегом «c»

C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.

8
Преобразовать программу Python в код C / C ++? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос Можно ли конвертировать Python-программу в C / C …
149 c++  python  c  code-generation 

2
Как работает код C, который печатает от 1 до 1000 без циклов или условных операторов?
Я нашел Cкод, который печатает от 1 до 1000 без циклов или условных выражений : но я не понимаю, как это работает. Может кто-нибудь пройти код и объяснить каждую строку? #include <stdio.h> #include <stdlib.h> void main(int j) { printf("%d\n", j); (&main + (&exit - &main)*(j/1000))(j+1); }

5
Почему этот код уязвим для атак переполнения буфера?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Этот код уязвим для атаки переполнения буфера, и я пытаюсь выяснить, почему. Я думаю, что это связано с lenтем, чтобы быть объявленным shortвместо int, но я не совсем …


3
Как я могу удалить флаг в C?
Есть переменная, которая содержит некоторые флаги, и я хочу удалить один из них. Но я не знаю, как это удалить. Вот как я установил флаг. my.emask |= ENABLE_SHOOT;

2
Измерить время в Linux - время против часов против getrusage против clock_gettime против gettimeofday против timespec_get?
Среди временных функций, time, clock getrusage, clock_gettime, gettimeofdayи timespec_getя хочу , чтобы четко понять , как они реализуются , и каковы их возвращаемые значения для того , чтобы знать , в какой ситуации я должен использовать их. Сначала нам нужно классифицировать функции, возвращающие значения настенных часов, по сравнению с функциями, …
148 c  linux  time  linux-kernel 

1
Какова цель ключевого слова static в параметре массива функции типа «char s [static 10]»?
Просматривая исходный код, я наткнулся на такую ​​функцию: void someFunction(char someArray[static 100]) { // do something cool here } Поэкспериментировав, оказалось, что там могут появиться и другие квалификаторы: void someFunction(char someArray[const]) { // do something cool here } Похоже, что квалификаторы разрешены внутри только [ ]тогда, когда массив объявлен как …
148 c  arrays  parameters  static 

5
Что такое объектный файл в C?
Я читаю о библиотеках на C, но еще не нашел объяснения, что такое объектный файл. В чем реальная разница между любым другим скомпилированным файлом и объектным файлом? Буду рад, если кто-нибудь сможет объяснить на человеческом языке.

10
Как работает устройство Даффа?
Я прочитал статью в Википедии об устройстве Даффа , но не понял. Я действительно заинтересован, но я прочитал объяснение там пару раз, и я все еще не понимаю, как работает устройство Даффа. Каким будет более подробное объяснение?
147 c  duffs-device 

10
Что означает void * и как его использовать?
Сегодня, когда я читал чужой код, я увидел что-то вроде void *func(void* i);: что это void*значит здесь для имени функции и типа переменной соответственно? Кроме того, когда нам нужно использовать указатель такого типа и как его использовать?
147 c 

13
Как программируются бытовые машины?
Как программируются бытовые машины (не столько компьютеры и мобильные устройства, сколько бытовые приборы, цифровые часы и т. Д.)? Какой код входит в программирование торгового автомата Coca-Cola? Как моя кофеварка принимает запрограммированное время и начинает варить чашку кофе через несколько часов, когда наступает это время? Есть ли в машинах такого типа …

2
Чтение строки с помощью scanf
Я немного запутался в чем-то. У меня сложилось впечатление, что правильный способ чтения C-строки scanf()шел по линии (не берите в голову возможное переполнение буфера, это просто простой пример) char string[256]; scanf( "%s" , string ); Тем не менее, следующее, кажется, тоже работает, scanf( "%s" , &string ); Это только мой …
147 c  scanf 

7
В чем преимущество __builtin_expect GCC в операторах if else?
Я наткнулся на то, #defineв котором их используют __builtin_expect. В документации говорится: Встроенная функция: long __builtin_expect (long exp, long c) Вы можете использовать, __builtin_expectчтобы предоставить компилятору информацию о предсказании ветвления. В общем, вы должны предпочесть использовать для этого фактическую обратную связь профиля ( -fprofile-arcs), поскольку программисты, как известно, плохо предсказывают, …
147 c  linux  gcc  built-in 

4
Какая связь между BLAS, LAPACK и ATLAS
Я не понимаю, как связаны BLAS, LAPACK и ATLAS и как я должен использовать их вместе! Я просмотрел все их руководства, и у меня есть общее представление о BLAS и LAPACK и о том, как их использовать, с очень немногими примерами, которые я нахожу, но я не могу найти никаких …
147 c  lapack  blas  atlas 

9
Почему C ++ rand () генерирует только числа одинакового порядка?
В небольшом приложении, написанном на C / C ++, я столкнулся с проблемой с randфункцией и, возможно, с семенем: Я хочу создать последовательность случайных чисел, которые имеют разные порядки, то есть с различными значениями логарифма (основание 2). Но кажется, что все произведенные числа имеют один и тот же порядок, колеблющийся …
146 c++  c  math  random 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.