c — вопросы с ответами

13 ответов
Я только что увидел картину сегодня и думаю, что буду благодарен за объяснения. Итак, вот картина: [IMG_OUR_ID=343.jpg] Мне показалось, что это сбивает с толку и задается вопросом, являются ли такие коды практичными. Я искал картинку и нашел другую картинку в this reddit, и вот эта картина: [IMG_O...
pointers
function-pointers
parsing
void-pointers
31 дек. 2015, в 15:56
3 ответа
При написании оптимизированной функции ftol я нашел очень странное поведение в GCC 4.6.1. Позвольте мне сначала показать вам код (для ясности я отметил различия): fast_trunc_one, C: int fast_trunc_one(int i) { int mantissa, exponent, sign, r; mantissa = (i & 0x07fffff) | 0x800000; e...
optimization
gcc
assembly
compiler-optimization
20 апр. 2012, в 17:54
4 ответа
Я участвовал в некоторых дискуссиях в отношении библиотек в Linux и хотел бы подтвердить некоторые вещи. Это мое понимание (пожалуйста, поправьте меня, если я ошибаюсь, и я отредактирую свое сообщение позже), что при создании приложения существует два способа использования библиотек: Статические би...
dll
linker
13 март 2012, в 17:15
1 ответ
Это некоторое время подтачивало меня. Как скомпилировать gcc/g++? Я предполагаю, что каждая ревизия компилируется с ранее построенной версией. Это правда? И если это так, значит ли это, что самые старые версии g++/gcc были записаны в сборке?
compiler-construction
24 фев. 2012, в 10:30
2 ответа
Зачем нужна следующая работа? void foo() { cout << "Foo to you too!\n"; }; int main() { void (*p1_foo)() = foo; void (*p2_foo)() = *foo; void (*p3_foo)() = &foo; void (*p4_foo)() = *&foo; void (*p5_foo)() = &*foo; void (*p6_foo)() = **foo; void (*p7...
function-pointers
01 авг. 2011, в 01:17
11 ответов
Например: Bool NullFunc(const struct timespec *when, const char *who) { return TRUE; } В C++ я смог добавить /*...*/ комментарий вокруг параметров. Но не в C, конечно, где он выдает ошибку error: parameter name omitted.
gcc
gcc-warning
30 авг. 2010, в 10:02
17 ответов
Если C не поддерживает передачу переменной по ссылке, почему это работает? #include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Выход $ gcc -std=c99 test.c $ a.exe i = 21 ...
pointers
pass-by-reference
09 фев. 2010, в 14:15
11 ответов
Когда я пытаюсь скомпилировать код C, который использует функцию gets() с GCC, Я получаю это предупреждение: (.text + 0x34): предупреждение: функция "получает" является опасной и не должна использоваться. Я помню, что это связано с защитой стека и безопасностью, но я не уверен, почему именно? ...
buffer-overflow
fgets
gets
07 нояб. 2009, в 18:40
8 ответов
В чем разница между fork и exec?
exec
fork
31 окт. 2009, в 03:24
24 ответа
Я создаю небольшой проект в смешанных C и С++. Я строю одну маленькую государственную машину в основе одной из моих рабочих потоков. Мне было интересно, будут ли вы, гуру на SO, делиться вашими методами проектирования государственной машины. ПРИМЕЧАНИЕ. Я прежде всего пробовал и проверял методы вн...
architecture
design
state-machines
30 окт. 2009, в 01:11
12 ответов
Попытка создать макрос, который можно использовать для отладочных сообщений печати, когда DEBUG определен, например, следующий псевдо-код: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Как это делается с макросом?
c-preprocessor
29 окт. 2009, в 16:59
13 ответов
С++ Notes: Инициализация массива имеет хороший список для инициализации массивов. У меня есть int array[100] = {-1}; ожидая, что он будет заполнен с -1, но его нет, будет только первое значение, а остальные 0 смешаны со случайными значениями. Код int array[100] = {0}; отлично работает и устанавли...
arrays
initialization
default-value
30 июнь 2009, в 19:31
70 ответов
Какое худшее реальное макросы/препроцессорное злоупотребление, с которым вы когда-либо сталкивались (пожалуйста, не надуманные ответы IOCCC * haha ​​*)? Пожалуйста, добавьте короткий фрагмент или рассказ, если он действительно интересен. Цель состоит в том, чтобы научить чему-то, а не всегда говори...
macros
preprocessor
17 март 2009, в 01:32
11 ответов
Как вы сравниваете два экземпляра структур для равенства в стандарте C?
struct
equality
26 сен. 2008, в 22:06
24 ответа
У меня давно сложилось впечатление, что goto никогда не следует использовать, если это возможно. Во время просмотра libavcodec (который написан на C) на днях, я заметил несколько его применений. Полезно ли использовать goto на языке, который поддерживает циклы и функции? Если да, то почему?...
exception-handling
language-agnostic
goto
23 авг. 2008, в 17:29
Наверх
Меню