Re: learning dragonfly or C...

看板DFBSD_kernel作者時間21年前 (2004/11/12 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/23 (看更多)
On Thu, Nov 11, 2004 at 12:18:51PM -0800, Matthew Dillon wrote: > Well, George... in fact I've already made precisely the optimization > you thought would clean up the code a few days ago. It's part of my > VFS patchset. > > Now is that a coincidence or not? umm, none at all? I only noticed "struct vnode **vpp, *vp; vpp = &vp" because I saw it removed by your vfsx22.patch and wanted to know what it was about, thought I was clear about that. > Generally speaking, however, programmers do not make that sort of > unoptimized algorithm mistake very often, and you will find that most > of the other situations in the codebase where a double-indirect pointer > is used have to be coded the way they are coded. Well that is a can of worms! I was curious why a pointer to a pointer would ever be required but also want to keep focus on real code to not get lost in the abstraction. (which is better C or C++, one has more potential the other has more code) The responses I read this morning where really amazing, not just really fast. Thanks guys! there's a lot for me to go on there, I've got homework cut out for me, for a while. I've already compiled some notes and examples, have checked out doc, with the intent of fitting the notes in the handbook or making a paper, "Learning C with DragonFly". I've gotten a little detoured with build problems on the doc module, but I'll bring up those comments on the docs list. But, I would like to ask here: Has anybody scripted up an index generator for XXX comments in the code base? With people asking, every few days, how they can help, that might be a good resource to have with daily doc builds (eg for site/mirror). > This brings up an interesting ancillary issue in that you might also > see a very experienced C programmer use a slightly different sort > of construction, like this: > > struct vnode *vp; > struct vnode *nvp; > > if ((error = ckpt_fhtovp(&vnh->vnh_fh, &nvp)) != 0) > return error; > vp = nvp; > /* nvp ignored, vp used from here on */ > > Care to take a guess at why advanced C programmers use this construction > instead of simply passing &vp ? > > -Matt well not knowing what vnh_fh or ckpt_fhtovp is, sets me back a bit, but I'll guess: ....need more info... http://fxr.watson.org/fxr/source/sys/ckpt.h?v=DFBSD is it a buffer to throw out illegal file handles inherited by NFS? // George -- George Georgalis, systems architect, administrator Linux BSD IXOYE http://galis.org/george/ cell:646-331-2027 mailto:george@galis.org
文章代碼(AID): #11a-Xa00 (DFBSD_kernel)
討論串 (同標題文章)
文章代碼(AID): #11a-Xa00 (DFBSD_kernel)