• [^] # Re: Découvrez la communauté PHP

    Posté par . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 9.

    Cette version(j'ai enlevé les structures pour pouvoir compiler):
    
    void add_timer()
    {
    	unsigned long flags;
    	spin_lock_irqsave(flags);
    	if (!timer_pending()) {
    		internal_add_timer();
    		spin_unlock_irqrestore(flags);
    	} else {
    		spin_unlock_irqrestore(flags);
    		printk("bug: kernel timer added twice at %p.\n",
    				__builtin_return_address(0));
    	}
    }
    
    produit la même sortie en assembleur que la version avec goto. Gcc est utilisé comme ça:
     gcc -march=athlon-tbird -S -O2 t.c
    Par contre comme ça:
     gcc -S -O2 t.c
    Il y a une ligne bizarre de plus qui semble inutile dans la version non goto:
    
    	addl	16,ドル %esp
    	movl	%ebp, %esp
    
    Voila, bien sûr ça peut être différent sur une autre architecture.
    La balise blockquote marche pas, ou bien?