2009年2月24日

[linux-users:108221] Re: linux関数名 先頭文字  __について?

こんばんは。

特に2つという理由はないはずで、変数/関数名の衝突を防ぐために
利用しているかと思います。(識者の方、フォローお願いします)

カーネル付属文書のCodingStyleには、名前は短いほうが良いとは
あるんですが、アンダースコアについての記載はなさそうです。
http://lxr.linux.no/linux+v2.6.28.7/Documentation/CodingStyle


ちなみにアンダースコアの数については以下のように
static inline void *____cache_alloc_node(struct kmem_cache *cachep,
gfp_t flags, int nodeid)
{
return NULL;
}
それ以上多いものもありますし、逆にひとつの関数も存在しています。

int __sched _cond_resched(void)
{
  :
}

ご参考まで。

On Tue, 24 Feb 2009 19:32:53 +0900
tanaka <tanaka_hideo@xxxxx> さん wrote:

> linux のソースを見た時に
> 例えば
>  extern void vide(void);
>  __asm__(".align 4\nvide: ret");
>
> ---------------------------------------
>
> static void __cpuinit init_amd_k5(struct cpuinfo_x86 *c)
> {
>
> ..........
> ..........
> ..........
>
> ---------------------------------------
>
> などのように
> 先頭に __(アンダーバー 2つ)を付けているのですが
> これは、何か理由があるのでしょうか?
>
> また、
> 先頭に _(アンダーバー 1つだけ)の時などは
> 存在するのでしょうか?

--
Tatsuo Kawasaki
kawasaki at wwing.net


投稿者 xml-rpc : 2009年2月24日 20:56
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/82440
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。