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

C - это язык программирования общего назначения, используемый для операционных систем, игр и других высокопроизводительных работ.

1
Каковы абсолютные, минимальные требования для содержания азиатских кодировок SE для проекта встроенной системы?
Я работаю в компании, которая начала интегрировать встроенные компьютерные системы в наши продукты, которые мы производим. У нас довольно широкий ассортимент продукции, и она распространяется по всему миру. Кроме того, мы разработали несколько интегрированных плат, которые могут служить нескольким целям в зависимости от прошивки, установленной в системе. Таким образом, нам …

3
Является ли использование макросов C / C ++ в качестве ярлыка для условной компиляции хорошей практикой?
Допустим, я хочу, чтобы в моем коде было несколько типов выходных сообщений. Один из них DEBUG, который печатается, только когда код скомпилирован в режиме отладки. Обычно я должен был написать что-то вроде #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif что довольно громоздко и раздражает во многих местах. Является …
13 c++  c  macros 

4
Существуют ли общепринятые рекомендации о том, как писать современный C?
У меня сильный опыт работы с Java / Groovy, и я был назначен в команду, которая поддерживает довольно большую базу кода C для административного программного обеспечения. Некоторые болевые точки, такие как работа с BLOB-объектами в базе данных или создание отчетов в PDF и Excel, были перенесены в веб-службу Java. Однако, …
13 c  maintenance 

4
Может ли структура C вести себя так, как будто у нее есть функция?
Я использую C и structs, где структура может иметь члены, но не функции. Предположим для простоты, что я хочу создать структуру для строк, которые я назвал, strи я хочу иметь возможность делать, str.replace(int i, char c)где iнаходится индекс строки и cсимвол, который заменяет символ в позиции i. Если бы это …

4
Есть ли стандартный способ или стандартная альтернатива упаковке структуры в c?
Когда программирование в CI показало, что упаковывать структуры, используя __attribute__((__packed__))атрибут GCCs, неоценимо, я могу легко преобразовать структурированный кусок энергозависимой памяти в массив байтов, который будет передаваться по шине, сохраняться в хранилище или применяться к блоку регистров. Упакованные структуры гарантируют, что при обработке в виде массива байтов он не будет содержать …

6
Почему массивы C не могут иметь длину 0?
Стандарт C11 гласит, что массивы как размера, так и переменной длины «должны иметь значение больше нуля». Каково оправдание для того, чтобы не допустить длину 0? Особенно для массивов переменной длины имеет смысл иметь размер ноль время от времени. Это также полезно для статических массивов, когда их размер взят из макроса …
13 c  array 

4
Что важно при оптимизации для кеша процессора (в C)?
Читая эти два вопроса , я вижу, что понимание поведения кэширования процессора может быть важным при работе с большими объемами данных в памяти. Я хотел бы понять, как работает кэширование, чтобы добавить еще один инструмент в мой набор инструментов оптимизации. Каковы основные принципы работы кэша ЦП, чтобы я мог писать …

5
Как я могу улучшить свою проверку и обработку ошибок?
В последнее время я пытался понять, что такое правильное количество проверок и каковы правильные методы. У меня есть несколько вопросов по этому поводу: Как правильно проверить наличие ошибок (неверный ввод, плохие состояния и т. Д.)? Что лучше: явно проверять наличие ошибок или использовать такие функции, как утверждения, которые можно оптимизировать …
13 c  testing  assertions 

2
Почему glibc поддерживается отдельно от GCC?
GCC - это компилятор C. Glibc - это библиотека C Однако не является ли это абсолютной необходимостью для компилятора и стандартной библиотеки, связанных вместе как реализация C? Например, библиотека C содержит ABI и специфичные для компилятора вещи, такие как <limits.h>, <stdint.h>и т. Д., Которые отличаются между компиляторами и API. И …
13 c  gcc 

6
«Напишите ассемблер на языке C.» Зачем писать переводчик машинного кода для языка низкого уровня на языке более высокого уровня?
Мой преподаватель класса Микропроцессор дал нам задание и сказал: «Напишите ассемблер в Си» - Мой любимый профессор Так что это показалось мне немного нелогичным. Если я не ошибаюсь, язык ассемблера - это первый шаг от машинного кода к путешествию на языки более высокого уровня. Я имею в виду, что C …

3
Как хранятся отрицательные значения со знаком?
Я смотрел это видео о максимальных и минимальных значениях целых чисел со знаком. Возьмите пример положительного значения со знаком - 0000 0001 Первый бит означает, что число положительное, а последние 7 бит - это само число. Так что это легко интерпретируется как +1. Теперь возьмем пример отрицательного значения со знаком …

6
Соглашения об именах, используемые для переменных и функций в C [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . При кодировании большого проекта в CI возникла проблема. Если я продолжу писать больше кода, то будет …
13 c  naming 

4
C проект избегая конфликтов имен
Я изо всех сил пытаюсь найти практический практический совет по соглашениям об именах функций для проекта библиотеки C среднего размера. Мой библиотечный проект разделен на несколько модулей и подмодулей со своими собственными заголовками и слабо следует стилю ОО (все функции принимают определенную структуру в качестве первого аргумента, без глобальных переменных …

9
Массив или Маллок?
Я использую следующий код в моем приложении, и он работает нормально. Но мне интересно, лучше ли сделать это с помощью malloc или оставить все как есть? function (int len) { char result [len] = some chars; send result over network }
13 c 

8
Всегда ли строки C заканчиваются нулем или это зависит от платформы?
Сейчас я работаю со встроенными системами и выясняю способы реализации строк в микропроцессоре без операционной системы. Пока что я просто использую идею использования NULL-концевых символьных указателей и обрабатываю их как строки, где NULL обозначает конец. Я знаю, что это довольно часто, но всегда ли вы можете рассчитывать на это? Причина, …

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