程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> linux驅動-關於簡單內核模塊Makefile文件???

linux驅動-關於簡單內核模塊Makefile文件???

編輯:編程綜合問答
關於簡單內核模塊Makefile文件???

ifeq ($(KERNELRELEASE),)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

clean:
rm -rf .o *~ core .depend ..cmd *.ko *.mod.c .tmp_versions

.PHONY: modules modules_install clean
else
obj-m := globalmem.o
endif

ifeq ($(KERNELRELEASE),)這一句執行之後,else便不會再執行,但是為什麼else還能起作用呢???

是這樣的
ifeq...else...endif
也就是說,ifeq滿足條件,那麼就會執行下面的語句,而else就不會被執行了,否則執行else
也就是說他們兩個只有一個會起作用,但是我發現他們兩個都起作用了,改任何一個都會報錯,為什麼???

最佳回答:


@ Drifter011 ,對對,就是這裡不明白。按照代碼分析——這句應該不起作用啊~~~但是按照邏輯分析——這句話應該起作用。就是這裡不太明白
不知道代碼怎麼執行的???

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved