-
- Если хотите получить компактный код, то нужно сделать две вещи. Bill(698 знак., 02.03.2006 08:59, )
- ..а лучше=> *(*(x+i)+j) +=20; - blackbit(02.03.2006 09:10, )
- Может быть *(x+R*i+j) +=20; где R - размерность по i ?? SE(79 знак., 03.03.2006 08:48, )
- это чуть ли не худшее, что можно было придумать blackbit(399 знак., 03.03.2006 14:44, )
- Компилятор в конечном итоге к этому и приводит. Другое дело, что такая запись выглядит, мягко говоря, не очень. Bill(690 знак., 03.03.2006 15:50, )
- Да, поэтому единственная оптимизация таких мест, которую я делаю последние лет так ... ReAl(164 знак., 03.03.2006 13:51, )
- Не понял вопрос про x[i] и *x[i] - это ведь две совершенно разные вещи ReAl(2352 знак., 03.03.2006 15:21, )
- Нормальный пацаны оператор for не используют.. Тока do .. while! И кстати, не одна ли хрень x[i] и *x[i] с точки зрения готового кода? - MDenis(03.03.2006 14:30, )
- Да, совершенно точно! - Bill(03.03.2006 10:54, )
- это чуть ли не худшее, что можно было придумать blackbit(399 знак., 03.03.2006 14:44, )
- Да, наверное так будет оптимальнее. Но даже неоптимизирующий компилятор Bill(74 знак., 02.03.2006 09:26, )
- ..а эт чтоб не дурковал, в случае чего. blackbit(80 знак., 03.03.2006 14:45, )
- Для многомерых оптимизировать надо выделяя подмассивы меньшей размерности для работы ReAl(510 знак., 03.03.2006 15:33, )
- Я то думал что blackbit ошибся, заявляя, что x[i][j] эквивалентно *(*(x+i)+j)... SE(247 знак., 03.03.2006 16:15, )
- О тождестве говорю не я, а стандрат языка С. Был бы у меня под рукой K&R первого издания - я бы и на него ссылку привёл. ReAl(1128 знак., 03.03.2006 16:51, )
- Да, видимо я плохо знаю C. SE(65 знак., 03.03.2006 17:09, )
- Понял, ведь x - это указатель именно на двумерный массив SE(76 знак., 03.03.2006 17:23, )
- Yes! А вот если бы ReAl(330 знак., 03.03.2006 17:45, )
- Что-то меня колбасит от вашего СИ. Чем круглая скобка от квадратной отличается? Объясните как для дурака плиз... - MDenis(03.03.2006 19:29, )
- Квадратная - оператор индексации массива, круглая - обычная "арифметическая" для задания порядка выполнения. - ReAl(04.03.2006 13:07, )
- Что-то меня колбасит от вашего СИ. Чем круглая скобка от квадратной отличается? Объясните как для дурака плиз... - MDenis(03.03.2006 19:29, )
- Yes! А вот если бы ReAl(330 знак., 03.03.2006 17:45, )
- Понял, ведь x - это указатель именно на двумерный массив SE(76 знак., 03.03.2006 17:23, )
- Да, видимо я плохо знаю C. SE(65 знак., 03.03.2006 17:09, )
- О тождестве говорю не я, а стандрат языка С. Был бы у меня под рукой K&R первого издания - я бы и на него ссылку привёл. ReAl(1128 знак., 03.03.2006 16:51, )
- Ответ: blackbit(205 знак., 03.03.2006 15:45, )
- Чтобы отступать??? Ну и что ты будешь делать, если компиялтор отступит, и проинтерпретирует x[i][j] как-то по-другому? ReAl(924 знак., 03.03.2006 17:04, , ссылка)
- Зуева не читали, как пишутся компиляторы? blackbit(580 знак., 03.03.2006 17:46, )
- "чтобы результат отличался - не встречал" - а что ещё надо??? ReAl(703 знак., 03.03.2006 18:12, )
- Зуева не читали, как пишутся компиляторы? blackbit(580 знак., 03.03.2006 17:46, )
- Чтобы отступать??? Ну и что ты будешь делать, если компиялтор отступит, и проинтерпретирует x[i][j] как-то по-другому? ReAl(924 знак., 03.03.2006 17:04, , ссылка)
- Я то думал что blackbit ошибся, заявляя, что x[i][j] эквивалентно *(*(x+i)+j)... SE(247 знак., 03.03.2006 16:15, )
- Для многомерых оптимизировать надо выделяя подмассивы меньшей размерности для работы ReAl(510 знак., 03.03.2006 15:33, )
- ..а эт чтоб не дурковал, в случае чего. blackbit(80 знак., 03.03.2006 14:45, )
- Может быть *(x+R*i+j) +=20; где R - размерность по i ?? SE(79 знак., 03.03.2006 08:48, )
- ..а лучше=> *(*(x+i)+j) +=20; - blackbit(02.03.2006 09:10, )
- Вызов процедур??? Это или сам-себе-злобный-Буратино-программер объявил ReAl(109 знак., 01.03.2006 23:25, )
- Я думал Ксения шутит, завтра проверю.. А компилятор - IAR. MDenis(207 знак., 01.03.2006 23:56, )
- avr-gcc точно умеет OCR1A = 30000; IAR где-то на уровне 2.27 точно не умел (помню, давал куски кому-то, а они не компилировались). - ReAl(02.03.2006 00:07, )
- может не компилятор виноват, а заголовочники, где OCR1A прописан или не прописан... - Sergey Pinigin(02.03.2006 06:59, )
- Нет, компилятор должен ещё уметь писать младший байт SFR-a после старшего, а читать - наоборот - vet1(02.03.2006 13:18, )
- А разве компилятор не со всеми sfrw так делает. Вроде на "Телесистемах я как-то Bill(123 знак., 02.03.2006 13:33, )
- Может быть, я не вникал. Просто поставил у себя точно такой же ИАР, попробовал, ругнулось на ReAl(98 знак., 02.03.2006 13:45, )
- А вот с Кейлом на sfrw я однажды накололся. vmp(275 знак., 02.03.2006 15:38, )
- IAR 2.31E не хочет ... Хотя может десйствительно если в заголовках покапаться пожно подправить. Но это для ленивых. MDenis(54 знак., 02.03.2006 19:20, )
- А вот с Кейлом на sfrw я однажды накололся. vmp(275 знак., 02.03.2006 15:38, )
- Может быть, я не вникал. Просто поставил у себя точно такой же ИАР, попробовал, ругнулось на ReAl(98 знак., 02.03.2006 13:45, )
- А разве компилятор не со всеми sfrw так делает. Вроде на "Телесистемах я как-то Bill(123 знак., 02.03.2006 13:33, )
- Нет, компилятор должен ещё уметь писать младший байт SFR-a после старшего, а читать - наоборот - vet1(02.03.2006 13:18, )
- может не компилятор виноват, а заголовочники, где OCR1A прописан или не прописан... - Sergey Pinigin(02.03.2006 06:59, )
- avr-gcc точно умеет OCR1A = 30000; IAR где-то на уровне 2.27 точно не умел (помню, давал куски кому-то, а они не компилировались). - ReAl(02.03.2006 00:07, )
- Я думал Ксения шутит, завтра проверю.. А компилятор - IAR. MDenis(207 знак., 01.03.2006 23:56, )
- А еще проще сдвинуть 30000=7530h данное число на два влево, точнее взять старший байт 75h ) - Aplai(01.03.2006 23:08, )
- Ой, вправо… - Aplai(01.03.2006 23:11, )
- Писать надо так! Ксения(137 знак., 01.03.2006 23:02, )
- Если хотите получить компактный код, то нужно сделать две вещи. Bill(698 знак., 02.03.2006 08:59, )