【发布时间】:2011-11-06 01:35:49
【问题描述】:
// gcc -o 0 $(pkg-config --cflags --libs gtk+-2.0) 1.c
#include <gtk/gtk.h>
int main (int argc, char *argv[]) {
GFile *f1 = NULL;
f1 = g_file_new_for_path ("/home/user/1.txt");
g_printf ("File loaded successfully.\n");
return 0;
}
当我运行这个程序时,它会导致 g_file_new_for_path () 出现分段错误(无论 /home/user/1.txt 是否存在)。
我写错代码了吗?还是我的系统有问题?
P。 S.:我的系统是Arch Linux,GLib版本是2.28.8-1。
【问题讨论】:
-
你能通过 GDB 运行它并在你的问题上附加一个回溯吗?
-
程序收到信号SIGSEGV,分段错误。 0x00000000 在 ?? () (gdb) 回溯 #0 0x00000000 in ?? ()
-
您需要确保在编译时指定了
-g标志(如果禁用优化会更容易)