...我有建立文件夹,但是显示没有那个文件还有没有规则,请有经验者指...

发布网友 发布时间:2024-10-23 15:48

我来回答

1个回答

热心网友 时间:2024-11-15 13:06

你代码也没有,调用堆栈也没有,谁能知道为啥段错误啊,要不然你猜我今天穿什么颜色的衣服?
大神也不敢说自己害缉愤垦莅旧缝驯俯沫的代码肯定就没有错误,我猜你的意思是能正确编译吧?
那只能说明你的语法没错,仅此而已,写程序能正确编译只是第一步,后面调试的工作还很漫长。
下面说说怎么调试吧:
看你的系统提示应该还没有打开core输出,在运行程序前打个命令:
ulimit -c unlimited
这样设置之后再运行程序在段错误的时候能core dump,有core之后再gdb ./test core.xxx
core文件一般在你运行程序的目录里,core文件后缀每次不同,后面的xxx你需要自己看看文件名,一般是运行时的PID号。当然如果你的系统core的生成规则被改过,不是默认的,那就问你的系统管理员去找到core文件。
进去后打个bt,看下当前的调用堆栈,然后再看下哪儿出的问题。
当然这样做有个前提,那就是你在编译你的程序时加了-g参数,如果没有,重新去编译下再运行。
如果还是找不出来,再把你的调用堆栈和代码发上来大家看看。
控制面板错误提示

[yinlei@localhost shiyan2]$ gcc -l /usr/src/kernels/2.6.32-鼎川尺沸侔度踌砂穿棘431.11.2.el6.i686/include/linux module.c -o main.exe
module.c:2:24: 错误:linux/init.h:没有那个文件或目录
module.c:3:26: 错误:linux/module.h:没有那个文件或目录
module.c:4: 错误:expected declaration specifiers or ‘...’ before string constant
module.c:4: 警告:数据定义时没有类型或存储类
module.c:6: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘hello_init’
module.c:12: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘hello_exit’
module.c:17: 警告:数据定义时没有类型或存储类
module.c:17: 警告:函数声明中出现形参名却未指定类型
module.c:18: 警告:数据定义时没有类型或存储类
module.c:18: 警告:函数声明中出现形参名却未指定类型
[yinlei@localhost shiyan2]$

程序代码如下:

#include<linux/kernel.h>
#include<linux/init.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int __init hello_init(void)
{
printk("Hello world/n");
return 0;
}

static void __exit hello_exit(void)
{
printk("Bye Corne/n");

}
module_init(hello_init);
module_exit(hello_exit);
~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com