- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Linux Ubuntu 14.04 上。我想开始 Linux 内核模块编程。我有 hello.c(简单的 Hello World 模块)和 Makefile。但是,在“make”命令中,我得到了错误。
我试过了 Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler ,但它对我不起作用。
你好.c
/* hello.c − Illustrating the __init, __initdata and __exit macros. */
#include <linux/module.h>
/* Needed by all modules */
#include <linux/kernel.h>
/* Needed for KERN_INFO */
#include <linux/init.h>
/* Needed for the macros */
static int hello3_data __initdata = 3;
static int __init hello_3_init(void)
{
printk(KERN_INFO "Hello, world %d\n", hello3_data);
return 0;
}
static void __exit hello_3_exit(void)
{
printk(KERN_INFO "Goodbye, world 3\n");
}
module_init(hello_3_init);
module_exit(hello_3_exit);
生成文件
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
关于“制作”:-
k@k-Inspiron-3542:~/Kernel programs$ make
make -C /lib/modules/4.2.0-27-generic/build M=/home/k/Kernel programs modules
make[1]: Entering directory `/usr/src/linux-headers-4.2.0-27-generic'
arch/x86/Makefile:138: CONFIG_X86_X32 enabled but no binutils support
Makefile:662: Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler
make[1]: *** No rule to make target `programs'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-4.2.0-27-generic'
make: *** [all] Error 2
目前,我的 ubuntu 有 4.2 内核。我什至在 3.x 内核上试过这个,但出现了同样的错误。
请帮帮我。谢谢。 :)
最佳答案
在问这个问题之前我已经搜索了很多,但没有一个解决方案适合我。我继续搜索,最后,这个解决方案对我有用。 https://askubuntu.com/questions/367838/compiling-error-while-installing-realtek-rtl8111e-in-64-bit-13-10-config-x86-x
奇怪的是,内核模块所在的目录名中应该没有空格。所以,我删除了空格并且它起作用了。
希望它能对以后的人有所帮助。 :)
关于c - Linux 内核模块编程 - 无法使用 CONFIG_CC_STACKPROTECTOR_REGULAR : -fstack-protector not supported by compiler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44225094/
我在 Linux Ubuntu 14.04 上。我想开始 Linux 内核模块编程。我有 hello.c(简单的 Hello World 模块)和 Makefile。但是,在“make”命令中,我得到
我是一名优秀的程序员,十分优秀!