Nikolay Kachanov writes:
> Пожалуйста,
>
> 09/11/2014 11:13:02 PM, Dmitrii Kashin:
>> Николай, раз уж такое дело, можно работающий вариант попросить патчем?
>> =)
Николай, а почему он работает?
Почему моя функция не была оптимизирована, а Ваша была?
Я не решительно не понимаю, какие условия до
Aleksey Andreev writes:
> 11.09.2014 23:32, Dmitrii Kashin пишет:
>
Но всё равно получаю SegFault в следствие переполнения.
>>> Дело ведь не в неявности вызова команды а в рекурсии.
>>> Про неявный return ( ret ) я упомянул для того что бы показать где
>>> освобождается стек.
>> Простите, Ал
12.09.2014 2:32, Dmitrii Kashin пишет:
>
> Хотя конечно, мне рассказывали историю о человеке, который макросом
> заменял в исходниках точку. Правда, этого человека никто не любит. =)
Билл Гейтс, судя по повадкам? ;-) (сорри за офтоп)
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debi
Пожалуйста,
09/11/2014 11:13:02 PM, Dmitrii Kashin:
> Николай, раз уж такое дело, можно работающий вариант попросить патчем?
> =)
diff -Naur master/Makefile master-tr/Makefile
--- master/Makefile 2014-09-11 13:42:39.0 +0400
+++ master-tr/Makefile 2014-09-12 08:36:47.985330799 +0400
@@
11.09.2014 23:32, Dmitrii Kashin пишет:
>>> Но всё равно получаю SegFault в следствие переполнения.
>> Дело ведь не в неявности вызова команды а в рекурсии.
>> Про неявный return ( ret ) я упомянул для того что бы показать где
>> освобождается стек.
> Простите, Алексей, я хочу уточнить одну деталь
Aleksey Andreev writes:
> 11.09.2014 14:50, Dmitrii Kashin пишет:
>> Ага. Ну вот, я наконец понял, что неправильно детектировал проблему.
>> Она именно в рекурсивном вызове маршевой функции, а make_step тут не при
>> чём.
>>
>> Поскольку Вы упомянули про неявный return, я попробовал указать retur
Nikolay Kachanov writes:
> 11.09.2014 15:57:00, Aleksey Andreev:
>
>> return march(newgrid) все равно будет выедать стек, но в отличии от
>> первоначального варианта тут предусмотрен выход из рекурсии.
>
> Судя по asm-коду и отсутствию сегфолта (ждал до 8, потом
> остановил), компилятор хвос
11.09.2014 15:57:00, Aleksey Andreev:
>
> return march(newgrid) все равно будет выедать стек, но в отличии от
> первоначального варианта тут предусмотрен выход из рекурсии.
Судя по asm-коду и отсутствию сегфолта (ждал до 8, потом остановил),
компилятор хвостовую рекурсию
делает.
> p.s. А зачем
11.09.2014 15:43, Nikolay Kachanov пишет:
> Вот так должно работать:
>
> int march (const Grid1D & grid)
> {
> ...
>
> static Grid1D newgrid;
>
> // шаг
> if (!finFlag)
> {
> printf("Making iteration %06d; Passed time: %f\n", grid.iter+1,
> grid.time);
> newgrid = make_ste
Вот так должно работать:
int march (const Grid1D & grid)
{
...
static Grid1D newgrid;
// шаг
if (!finFlag)
{
printf("Making iteration %06d; Passed time: %f\n", grid.iter+1,
grid.time);
newgrid = make_step(grid, tau);
return march(newgrid);
}
else
retur
11.09.2014 14:50, Dmitrii Kashin пишет:
> Ага. Ну вот, я наконец понял, что неправильно детектировал проблему.
> Она именно в рекурсивном вызове маршевой функции, а make_step тут не при
> чём.
>
> Поскольку Вы упомянули про неявный return, я попробовал указать return
> явно, слегка переписав функци
Aleksey Andreev writes:
> 11.09.2014 13:25, Dmitrii Kashin пишет:
>
>> Вот так это примерно происходит:
>>
>> void
>> march (Grid1D grid)
>> {
>> <...>
>> Grid1D newgrid = make_step(grid, tau);
>> march(newgrid);
>> };
>>
11.09.2014 13:25, Dmitrii Kashin пишет:
>
>
> Вот так это примерно происходит:
>
> void
> march (Grid1D grid)
> {
> <...>
> Grid1D newgrid = make_step(grid, tau);
> march(newgrid);
> };
>
>
> Никак не пойму, ч
Dmitrii Kashin writes:
> Собственно, хочется, чтобы кто-то посмотрел и по возможности помог
> советом: вот отсюда[1] можно скачать архив с последней версией.
>
> Собирать надо одним из следующих образов:
> 1) make test-shock1
> 2) make test-shock2a
> 3) make test-shock2b
>
> <...>
>
> [1] http://
Здравствуйте, сообщество. Я понимаю, что это, возможно, не самое
правильное место для вопроса по программированию, но мне достоверно
известно, что здесь сидят более-менее грамотные люди, которые мне
действительно могут помочь. И других таких мест мне, увы, знать не
довелось.
Я пишу программу на C
15 matches
Mail list logo