作者godman362 (青)
看板C_and_CPP
标题[问题] if-else
时间Fri Nov 13 09:04:03 2009
目前我在看Trace别人的Linux Driver Code
不过看到一个地方很奇怪,我印象中没有这种语法
以下,改附原始程式码:
if((retval = request_irq(IRQ_GROUP0, tsc2007_pen_irq, SA_INTERRUPT,
DRIVER_NAME, NULL))){
printk("tsc2007_open : Request IRQ error\n");
goto quit;
}
init_completion(&tsc2007_dev.penirq_completion);
init_completion(&tsc2007_dev.tstask_completion);
init_waitqueue_head(&tsc2007_dev.wait);
//set up a thread
ret = kernel_thread(tsc2007_thread, NULL, CLONE_SIGHAND);
if (ret >= 0)
{
wait_for_completion(&tsc2007_dev.tstask_completion);
ret = 0;
}
else
{
printk("Kernel thread create fail !! \n");
free_irq(IRQ_GROUP0, NULL);
goto quit;
}
在if else的中间居然可以安插叙述?
这部份我实在无法理解,而且实际在写程式时也会Error
请问为什麽在写Driver时,这种语法却能编译过呢?
还请各位给予一些指点,谢谢。
--
▁▁
Google 女友|██████████████████▕
搜寻▏
进阶搜寻 | 使用偏好
▇▇  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄
搜寻: ⊙所有网页 ○中文网页○繁体中文网页 ○台湾的网页
所有网页 约有0项符合女友的查询结果,以下是第 0项。 共费21年。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.4.22
1F:推 ledia:有没有什麽 #ifdef 之类的在中间 ? 11/13 09:19
2F:→ godman362:没有 11/13 09:23
※ 编辑: godman362 来自: 122.118.4.22 (11/13 09:25)
3F:推 VictorTom:等一下, 修文以後看的code是合法的啊?? 11/13 09:28
4F:→ VictorTom:是if(){...}...if(){}else{}... 这样啊.... 11/13 09:28
5F:→ VictorTom:你漏看if了吧??找SourceInsight之类的highlight看一下:) 11/13 09:29
6F:→ godman362:喔抱歉...真的漏了 11/13 09:33
7F:→ godman362:Sorry...问了个蠢问题 11/13 09:33
8F:推 VictorTom:原po在Linux下看code吗?? 找一个方便一点的工具吧XD 11/13 09:35
9F:→ godman362:因为我是在远端,所以只能用ssh看而已(汗) 11/13 09:49
10F:推 VictorTom:那不能把code全抓回来, 这样想用什麽软体看就上啦@_@" 11/13 10:02
11F:→ VictorTom:话说, 以前在其他公司, 都是Linux SV上放code开SMB, 然 11/13 10:09
12F:→ VictorTom:後我们在Windows上用UltraEdit慢慢看, 一整个晕....Orz 11/13 10:09
13F:→ godman362:只是我比较懒得抓而已XD 11/13 10:22
14F:→ godman362:其实弄一下ftp就可以抓到是真的.... 11/13 10:22
15F:推 VictorTom:不过远端的话就得注意一下安全性啦, 除非是可public的:) 11/13 10:23
16F:→ nowar100:被缩排骗到了 XD 11/13 11:23
17F:→ MOONRAKER:用ssh有什麽好怕的,装joe就好了,五彩缤纷 11/13 11:24
18F:推 ledia:远端比较方便啦, 设个 editor 方便 11/13 11:35
19F:推 VictorTom:SourceInsight有那种点{两下就把整个{}选起来的功能, VC 11/13 11:58
20F:→ VictorTom:还是UE好像有+可以折叠{}block; 是不太清楚ssh进去应该 11/13 11:59
21F:→ VictorTom:是console吧, 那editor有没有这类的hightlight....XD 11/13 11:59
22F:→ godman362:我是用ssh + joe没错啊.... 11/13 12:23
23F:→ godman362:我一开始也完全没注意到那个if,只看到突出来的部份 囧 11/13 12:24
24F:推 ledia:folding 也是很基本的功能, 不过 joe 好像没有 XD 11/13 12:27
25F:→ godman362:好像是这样没错XD 11/13 12:29
26F:→ ledia:再来就是 syntax highlight ... 比较容易一眼看到保留字 11/13 12:29
28F:→ ledia:以前没有 windows 可以用的时候我是用 vim 11/13 12:30
29F:→ ledia:现在就开心用 VS 了 XD 11/13 12:31
30F:→ james732:vim也可以是彩色的吧? 11/13 12:34
31F:推 ledia:可以呀~ 11/13 13:46
32F:推 chchwy:vim or joe都是彩色的吧 11/13 13:55
33F:推 ledia:其实跟 term 也有一点关系啦.. 11/13 15:08
34F:→ MOONRAKER:joe如果设定错找不到spec档就不会有颜色 :( 11/14 15:28