问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux中用C语言编写完模块后怎么编写makefile文件?用到什么命令?以什么...

发布网友 发布时间:2022-05-07 09:02

我来回答

4个回答

热心网友 时间:2023-01-22 12:28

vi Makefile #打开vi编辑器
在编辑器里输入以下内容:

#当只有一个文件需要编译的时候
finame:filename.c #冒号前面是要编译成的目标文件(可以任意命名),后面是你编写的C文件
gcc -o filename filename.c #gcc前面是按Tab制表符

#filename:filename.c 是指filename文件的生成要依赖filename.c文件
#然后换行后按Tab键,然后编写编译规则

#make命令一般是同时编译多个文件时才使用,以下是同时编写多个独立的C文件
#filename1和filename2……没有依赖关系
filename1:filename1.c
gcc -o filename1 filename1.c
filename2:filename2.c
gcc -o filename2 filename2.c

#makefile编译多个需要依赖(互相调用的文件)
main:main.o file1.o file2.o #main是最终要生成的目标文件,后面.o就是需要调用的文件的对象文件
main.o:main.c
gcc -c main.c #生成main.o对象文件,main.c里面是有主函数的
file1.o:file1.c
gcc -c file1.c
file2.o:file2.c
gcc -c file2.c
#以上差不多就可以用了
#一下是我找的例子

#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}
/* mytool2.h */
#ifndef _MYTOOL_2_H
#define _MYTOOL_2_H
void mytool2_print(char *print_str);
#endif
/* mytool2.c */
#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2 print %s\n",print_str);
}
当然由于这个程序是很短的我们可以这样来编译
gcc -c main.c
gcc -c mytool1.c
gcc -c mytool2.c
gcc -o main main.o mytool1.o mytool2.o
这样的话我们也可以产生main 程序,而且也不时很麻烦.

# 这是上面那个程序的Makefile 文件
main:main.o mytool1.o mytool2.o
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc -c main.c
mytool1.o:mytool1.c mytool1.h
gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc -c mytool2.c
有了这个Makefile 文件,不过我们什么时候修改了源程序当中的什么文件,我们只要执行
make 命令,我们的编译器都只会去编译和我们修改的文件有关的文件,其它的文件她连理
都不想去理的。
下面我们学习Makefile 是如何编写的。
在Makefile 中也#开始的行都是注释行.Makefile 中最重要的是描述文件的依赖关系的说
明.一般的格式是:
target: components
TAB rule
第一行表示的是依赖关系.第二行是规则.
比如说我们上面的那个Makefile 文件的第二行
main:main.o mytool1.o mytool2.o
表示我们的目标(target)main 的依赖对象(components)是main.o mytool1.o mytool2.o
当倚赖的对象在目标修改后修改的话,就要去执行规则一行所指定的命令.就象我们的上
面那个Makefile 第三行所说的一样要执行 gcc -o main main.o mytool1.o mytool2.o
注意规则一行中的TAB 表示那里是一个TAB 键

热心网友 时间:2023-01-22 13:46

1、先写Makefile编译出***.ko文件
模板如下,保存到命名为Makefile文件里,放到你代码的同级目录下
TARGET=my_proc.ko
LINUXDIR=/lib/moles/$(shell uname -r)/build
PWD=$(shell pwd)
obj-m :=
obj-m += my_proc.o

all: $(TARGET)
$(TARGET): $(OBJS)
make -C $(LINUXDIR) SUBDIRS=$(PWD) moles
clean:
rm -f moles.order Mole.symvers $(TARGET) *.mod.c *.o
rm -rf .tmp_versions .mod* Mole.markers
2、make
3、root权限下用命令插入模块
insmod my_proc.ko
4、可以用你写的应用程序打开、操作模块了
5、查看模块命令
lsmod
cat /proc/moles
modinfo my_proc.ko
6、root下卸载模块
rmmod

热心网友 时间:2023-01-22 15:21

光在这说有点困难,我有个ppt里比较详细的讲解怎么进行,如果有需要的话,把你的邮箱留给我~~追问1075150996@qq.com
记得发我啊、

热心网友 时间:2023-01-22 17:12

看来你对makefile还不了解,先认真看看make使用手册吧,以下是make中文手册阅读地址http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
钱存入余额宝安全吗? 中考多少分可以上宁夏幼儿师范 多少分能被宁夏幼儿师范高等专科学校录取 2024年高考多少分能上宁夏幼儿师范高等专科学校 “君门深九重”的出处是哪里 杨柳枝·御柳如丝映九重作品注释 “望君之门兮九重”的出处是哪里 北京哪里有壁葬的墓地?北京壁葬价格是多少? 9款铁盖茅台最新拍卖价汇总!你家里收藏的有吗? 抢公章,这个事情合法吗? makefile文件后缀名是什么 制作防爆柜,防毒柜的厂家需要什么资质 linux下makefile要保存成什么类型的文件 生产、设计防爆产品分别需要哪些资质? 具有什么资质的防爆厂家才算正规? NEC SL1000电话交换机默认设置是不是都能打长途,还有如何设置*打长途,谢谢了!急求! 关于NEC SL1000电话交换机的故障问题,分机打外线打不出去,接听电话及内部互打都是可以的! NEC SL1000程控交换机如何在web页面设置总机号码? NEC SL1000程控交换机的电话会议功能。 换了NEC SL1000电话交换机以后使用普通电话时电话的铃声灯总是闪,还有极短的响铃声 NEC SL1000程控交换机怎么给下面的电话设置分机号码? NECSL1000交换机设置问题,急!!! 刚装的一台NEC SL1000的程控交换机,刚开始的一个月用着正常,后来就出来电话一挂机就振铃一声。 NEC SL1000电话交换机怎么编程外线开关 NEC SL1000 分级设置,想把公司的内线一部分拨打国内长途,一部分不可以,还有一部分不能拨打外线。 请问一下NEC SL1000电话交换机怎么回复出厂设置?急急急!在线等 NEC SL1000交换机为什么分机不能打外地电话了,而总机打出去也是要加9再拨电话,那是总机吗? nec sl1000 电话交换机 我们公司用的这个电话交换机,想禁止拨打国内长途,请问,怎么设置啊? NEC SL1000交换机 打外线能否设为直接拨号拨打(在前面不加拨9之类的), 交换器nec sl1000交换器如何设置610分机忙线时候,电话会转移到分机602上 生产防爆门需要哪些资质? 防爆工具产品办理哪些证书和哪些资质 防爆资质的问题 销售爆破材料的企业需要什么资质 最近在学vim,想要知道makefile文件时怎么用的 防爆施工需要什么资质?怎么办理? 如何新建makefile文件后缀 生产防爆门的公司都有哪些资质? 防爆阀门生产厂家资质要求 制作防爆电气柜需要具备资质 makefile中 怎么写 install 格式 Makefile missing separator.Stop.怎么解决 makefile里面 gcc -O2 -o $@ $< 是什么意思 一支毛笔一般能用多长时间??? 毛笔书法中“一画笔”你知道是什么 一笔传承千年久,文港毛笔有哪些重要的历史? 一什么毛笔量词 毛笔书法写完一笔后笔尖分开 一支毛笔一滩水成语 45岁可以买养老保险吗