Я пытаюсь экспортировать переменные и читать ее обратно, используя getenv()
, но по какой-то причине, он дает мне ошибку сегментации ..Таинственный GETENV() сегментные ошибки
#include<stdio.h>
#include<stdlib.h>
int main(){
system("export LINES=$(stty size | awk '{print $1}');"
"export COLUMNS=$(stty size | awk '{print $2}')");
printf("%s %s\n", getenv("LINES"), getenv("COLUMNS"));
//Heisenbug?
return 0;
}
Я бег Ubuntu 14.04.
Странная вещь, что он работает нормально на БГД, а выход компилятор не показывает ошибку во время компиляции, даже с -Wall -Wextra
... Почему это происходит?
то вы можете объяснить, почему это работает при работе на gdb? – hoholee12
Вы вызываете «неопределенное поведение»; все может произойти, когда вы это делаете, в том числе «кажется, что работает - иногда». –
ok ... могу я спросить, какую синтаксическую ошибку у меня есть в сценарии оболочки? – hoholee12