Мой вопрос, теперь приведенный к - надеюсь, - минимальный пример, поэтому следующий код segfaults.Где этот код segfault?
Это, конечно, можно рассматривать как дубликат предлагаемого вопроса, если вы нашли его. Проблема в том, что я не смог найти вопрос в своем первоначальном поиске, и поэтому может много новичков, не зная причины ошибки. Я предлагаю это как дубликат я мог бы найти:
Segmentation Fault before main
но описание проблемы очень долго, так что я считаю, что я минимизированы и намного короче код может быть лучше для иллюстрации проблемы. В любом случае это дубликат. Я предлагаю модераторам установить это как дубликат и установить ссылку со второго возможного дубликата на первый.
#include <stdio.h>
/* Parameters */
#define N 3072
#define LDA N
/* Main program */
int main() {
printf("-----------------------------------------------> Entry main.\n");
/* Local arrays */
double a[LDA*N];
printf("-----------------------------------------------> End main.\n");
return 0;
}
выдаёт ошибку сегментации не происходит, когда
#define N 3072
заменяется
#define N 5
Ни делает происходят, когда выдаёт ошибку сегментации линии
double a[LDA*N];
опускается.
Я особенно смущают наблюдением, что происходит, не доходя выдаёт ошибку сегментации
printf("-----------------------------------------------> Entry main.\n");
который я наношу непосредственно в начале основной.
Для полноты я запускаю код, как это:
[email protected]:~/Desktop/tests$ g++ -o minicombo.x minicombo.cc && ./minicombo.x
'std :: ifstream' Это ** NOT ** C – Eregrith
@Eregrith Действительно ... Спасибо! – Ludi
Если вы хотите отлаживать вывод, используйте 'std :: cerr' (или' fprintf (stderr, ... 'если вам нужно). –