自己编写一个程序编译进内核,要修改makefile文件吗?
时间:2011-09-11
来源:互联网
写一个自己的套接字,将C程序文件放在内核代码文件中。
然后make编译,结果老出错。
我想问一下,像我这样把自己写的C文件编译进内核
要不要修改makefile文件,或者.config文件呢?
然后make编译,结果老出错。
我想问一下,像我这样把自己写的C文件编译进内核
要不要修改makefile文件,或者.config文件呢?
作者: abc78400123 发布时间: 2011-09-11
听楼主意思,是写一个应用层的程序,但又放到内核中,这样是行不通的。
如果是应用层程序,不用理会内核,直接按普通的程序编写、编译即可,这种格式的Makefile网上有例子。
如果是内核层的,那应该说是驱动了,同样不用修改Makefile,而是自己创建一个适用于内核的Makefile。
关于Makefile例子,可以到www.latelee.org上找找。
如果是应用层程序,不用理会内核,直接按普通的程序编写、编译即可,这种格式的Makefile网上有例子。
如果是内核层的,那应该说是驱动了,同样不用修改Makefile,而是自己创建一个适用于内核的Makefile。
关于Makefile例子,可以到www.latelee.org上找找。
作者: subfate 发布时间: 2011-09-11
这时陈浩的跟我一起写makefile。
正如前面所说的,如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的。
edit : main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
……
我想问一下
edit : main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
中的命令:
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
这个语句怎么理解呢?!
我自己写了两个测试程序,test.c,test1.c
然后,gcc -c test.c test1.c 生成了test.o test1.o两个.o文件
接着,按照上面的格式:
cc -o test.o test1.o
结果什么文件都没生成啊?
正如前面所说的,如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的。
edit : main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
……
我想问一下
edit : main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
中的命令:
cc -o edit main.o kbd.o command.o display.o /
insert.o search.o files.o utils.o
这个语句怎么理解呢?!
我自己写了两个测试程序,test.c,test1.c
然后,gcc -c test.c test1.c 生成了test.o test1.o两个.o文件
接着,按照上面的格式:
cc -o test.o test1.o
结果什么文件都没生成啊?
作者: abc78400123 发布时间: 2011-09-11
引用 1 楼 subfate 的回复:
听楼主意思,是写一个应用层的程序,但又放到内核中,这样是行不通的。
如果是应用层程序,不用理会内核,直接按普通的程序编写、编译即可,这种格式的Makefile网上有例子。
如果是内核层的,那应该说是驱动了,同样不用修改Makefile,而是自己创建一个适用于内核的Makefile。
关于Makefile例子,可以到www.latelee.org上找找。
听楼主意思,是写一个应用层的程序,但又放到内核中,这样是行不通的。
如果是应用层程序,不用理会内核,直接按普通的程序编写、编译即可,这种格式的Makefile网上有例子。
如果是内核层的,那应该说是驱动了,同样不用修改Makefile,而是自己创建一个适用于内核的Makefile。
关于Makefile例子,可以到www.latelee.org上找找。
哦,呵呵
我不是写应用程序,也不是写驱动,
我是为传输层设置一个新的套接字,跟SOCK_STREAM,SOCK_DGRAM 是同级别的。
比如名字叫SOCK_MYUDP。为此,我必须写一些发送和接受数据包的函数,myudp_sendmsg,myudp_recvmsg
我把两个函数写在MyUDP.c中。然后把MyUDP.c放在 linux-2.6.8.1/net 目录下。
编译的时候虽然出错,但显示MyUDP.c经过编译了。
编译截图可见我发的这个帖子
http://topic.csdn.net/u/20110908/11/84f9b8d9-355a-4d4a-924d-37f116bd10e2.html
作者: abc78400123 发布时间: 2011-09-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28