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

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

19
Есть ли типичный шаблон реализации конечного автомата?
Нам необходимо реализовать простую государственную машину в C . Стандартный оператор switch - лучший способ? У нас есть текущее состояние (состояние) и триггер перехода. switch(state) { case STATE_1: state = DoState1(transition); break; case STATE_2: state = DoState2(transition); break; } ... DoState2(int transition) { // Do State Work ... if(transition == …

4
# включить в .h или .c / .cpp?
Когда я кодирую на C или C ++, где мне взять #include's? callback.h: #ifndef _CALLBACK_H_ #define _CALLBACK_H_ #include <sndfile.h> #include "main.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* data); void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data); #endif callback.c: #include <stdlib.h> #include <math.h> #include "config.h" #include "callback.h" #include "play.h" void on_button_apply_clicked(GtkButton* button, struct user_data_s* …
118 c++  c 


11
Как исправить ошибку GCC «для начального объявления цикла, используемого вне режима C99»?
Я пытаюсь решить проблему 3n + 1, и у меня есть forцикл, который выглядит так: for(int i = low; i <= high; ++i) { res = runalg(i); if (res > highestres) { highestres = res; } } К сожалению, я получаю эту ошибку, когда пытаюсь скомпилировать с GCC: 3np1.c: 15: …
117 c  gcc  for-loop 


12
Что означает «const static» в C и C ++?
const static int foo = 42; Я видел это в каком-то коде здесь, на StackOverflow, и я не мог понять, что он делает. Затем я увидел несколько запутанных ответов на других форумах. Я предполагаю, что он используется в C, чтобы скрыть константу fooот других модулей. Это верно? Если так, зачем …
117 c++  c 

5
ошибка: используется библиотека Libtool, но значение LIBTOOL не определено
Я пытаюсь automakeиспользовать библиотеку OrientDb C ++, но получаю некоторые ошибки. Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined Makefile.am:10: The usual way to define 'LIBTOOL' is to add 'LT_INIT' Makefile.am:10: to 'configure.ac' and run 'aclocal' and 'autoconf' again. Makefile.am:10: If 'LT_INIT' is in 'configure.ac', make sure Makefile.am:10: its …
117 c  linux  autotools  orientdb 

11
Что означает код исключения «EXC_I386_GPFLT»?
Что означает код исключения EXC_I386_GPFLT? Его значение меняется в зависимости от ситуации? В этом случае я имею в виду тип EXC_BAD_ACCESSисключения с кодом исключения.EXC_I386_GPFLT Программа разработана на Xcode 5.0.1 и имеет дело с cblas_zgemm()библиотекой BLAS (ну, думаю, это не имеет значения ...) Большое спасибо!
117 c++  c  exc-bad-access 

5
Как использовать разделяемую память в Linux на C
У меня небольшая проблема с одним из моих проектов. Я пытался найти хорошо документированный пример использования разделяемой памяти, fork()но безуспешно. В основном сценарий таков, что когда пользователь запускает программу, мне нужно сохранить два значения в общей памяти: current_path, который является символом *, и имя_файла, которое также является символом * . …
117 c  linux  fork  shared-memory 

3
Инициализация структуры до 0
Если у меня есть такая структура: typedef struct { unsigned char c1; unsigned char c2; } myStruct; Каким будет самый простой способ инициализировать эту структуру значением 0? Достаточно ли следующего? myStruct _m1 = {0}; или мне нужно явно инициализировать каждого члена до 0? myStruct _m2 = {0,0};
117 c  struct  initialization 

30
Каковы были бы ограничения C ++ по сравнению с языком C? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 6 лет назад . Уточните этот вопрос Ниже приведены преимущества C ++. C …
116 c++  c 

14
Стоит ли изучать C перед изучением C ++? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …
116 c++  c 

30
Практики кодирования, которые позволяют компилятору / оптимизатору делать более быструю программу
Много лет назад компиляторы C не были особенно умными. В качестве обходного пути K&R изобрел ключевое слово register , чтобы намекнуть компилятору, что, возможно, было бы неплохо сохранить эту переменную во внутреннем регистре. Они также сделали третичный оператор, чтобы помочь сгенерировать лучший код. Со временем составители стали зрелыми. Они стали …

3
Почему main не возвращает здесь 0?
Я просто читал ISO / IEC 9899: проект комитета 201x - 12 апреля 2011 г. в котором я нашел в разделе 5.1.2.2.3 Прекращение программы ..reaching the } that terminates the main function returns a value of 0. это означает, что если вы не укажете какой-либо оператор return в main(), и …
116 c  linux  return  main 

12
const char * конкатенация
Мне нужно объединить два константных символа, например: const char *one = "Hello "; const char *two = "World"; Как я могу это сделать? Мне переданы эти char*s из сторонней библиотеки с интерфейсом C, поэтому я не могу просто использовать std::stringвместо них.

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