Aller au contenu


Photo
- - - - -

Programmation en C


  • Veuillez vous connecter pour répondre
61 réponses à ce sujet

#41 hedi07

hedi07

    Nouveau membre

  • Membres
  • 65 messages

Posté 08 juin 2008 - 07:35

salut,

certain compilateur gatuit sont tres renommé, et c'est la cas de gcc.
il me semble que c'est lui qui equipe quasiment tout les IDE gratuit.

deux argument pour dire qu'ils sont meilleurs que les payants:
1) code source libre => n'importe qui peut l'améliorer
2) difficulté de la tache => tout les kevin ont abandoné depuis longtemps, c'est des passionnés qui font ça.

apres pour le combat compilo vs assembleur, on peut seulement etre sûr qu'avec l'assembleur t'as une parfaite maitrise de ton code (tu sais ce qu'il y a dedans), sans forcément qu'il soit meilleurs.

a+
hedi07

#42 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 08 juin 2008 - 08:01

[quote"Maïck"]Ca dépend de ce que tu appelle complexe...
Pour avoir fais des tests, si tu emploi pas de calcul difficiles ou avec de grand nombres, l'assembleur reste plus optimisé...

Et ton compilateur je sais pas ou tu l'a eu mais si c'est un gratuit oublie !! :p [/quote]
je parle de GCC/G++, et le préjugé "gratuit pas bien bhou" tu peut te le coller ou je pense :-°
le modele de developement du libre est l'un des plus efficasse du genie logiciel donc bon...
(cela dit, je ne sais pas si le code de sdcc est efficasse, sur pic peut etre pas)



#43 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 08 juin 2008 - 08:13

Bon même si vous êtes borné voila un exemple... (que vous ne prendrez pas en compte comme vous êtes sur de vous...)

Code en C :

Code asm compiler du C :

001A: BCF 05.0
001B: BCF 03.5
001C: BCF 05.0
;met la patte en sortie puis la met à "0" (mis dans les fichier de config en seulement sortie...)[/code]

Code asm :


Bon après vous dites ce que vous voulez... :colere: :mort: :colere: :mort:


#44 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 08 juin 2008 - 08:15

J'ai rien contre le libre au contraire... mais plus optimiser que l'asm en gratuit tu trouvera pas... (peut etre les centre de calcul de la NASA... XD )

#45 cgizmo

cgizmo

    Membre occasionnel

  • Membres
  • Pip
  • 128 messages

Posté 08 juin 2008 - 08:38

On va terminer par dire que l'ASM c'est plus puissant (ou tout aussi puissant) que le C mais que c'est beaucoup plus chiant a écrire.
Fin de la bataille entre l'ASM et le C, sinon ca va finir avec des morts !

#46 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 08 juin 2008 - 08:44

hum, pour conclure egalement maïck, ton compilateur a quelque soucis, sdcc par exemple me donne ça:
MOVLW 0x02
MOVWF _TRISB
; .line 100; wave.c PORTB=0;
CLRF _PORTB
; .line 101; wave.c RB0 = 1;
BSF _PORTBbits, 0[/code]
(et sdcc est libre[et on note qu'il a fait rigoureusement la meme chose que toi]);
mais les pics, c'est relativement particulier comme plate forme,
donc a part sdcc des libre on en trouve pas, mais gcc, rentre dans se que j'ai dit plus haut(mais a des plate forme plus spécifique)

#47 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 12:15

Mon compilateur va très bien merci ^^ (CSS à 600 $)
C'est juste que mon code est au plus simple... toi tu a encore des définition qui devront être (_portb)interprétées... Mais comme tu l'a dit ça reste le même code...
Et pour finir c'est sur que le C est plus puissant donc réservé pour les applications demandant du calcul, et l'assembleur pour les codes demandant d'être rapide ou précis au niveau du temps ! :p

#48 robocop

robocop

    Membre passionné

  • Membres
  • PipPipPip
  • 357 messages
  • Gender:Male

Posté 09 juin 2008 - 12:35

J'ai une petite question : j'ai entendu dire que certains PIC, comme les 18F, gèrent plus facilement le C.
Est-ce une légende ou une réalité ?

#49 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 12:58

Euh... c'est pas le pic qui gère le C c'est le compilateur ^^

#50 robocop

robocop

    Membre passionné

  • Membres
  • PipPipPip
  • 357 messages
  • Gender:Male

Posté 09 juin 2008 - 01:04

Oui, c'est bien ce que je pensais :p .
Je ne sais plus ou j'ai lu ça (le site de biggonoff je crois).

#51 gogohan

gogohan

    Nouveau membre

  • Membres
  • 25 messages

Posté 09 juin 2008 - 01:09

Il ne traduit pas en ASM !!
Il transcrit tout en binaire.

Après, si tu veux lire l'application en ASM, à toi de coder un décompilateur (ou d'en trouver un :| , mais c'est illégal de décompiler des programmes commercialisés :p ). Pour cela, il te faut déjà connaître l'ASM, et d'autres choses en relation avec la compilation sur ton OS (bon courage :p )...

J'ai fait un H.S. ?

#52 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 09 juin 2008 - 02:10

le compilateur par définitions convertis d'un language vers une autre.
le microcontroleur, lui, ne comprend que l'assembleur assemblé par un programme qu'on appelle justement l'assembleur c'est a dire qu'il vas convertir les instruction assembleur en leur valeur binaire pour le microcontroleur, mais il fait une traductions littéral c'est a dire que par exemple bcf donnerais E3 (c'est un exemple bidon). mais c'est l'idée, si on dit que les seris 18f sont meilleur pour le C c'est parce que par exemple il y a des registre qui sont directement adressable ce qui facilite la composition en assembleur.

donc les compilateur compile en assembleur puisque que le binaire processeur c'est une simple traduction.

(et maïck nous tu donne une belle preuve que le prix ne signifie rien :-° )

#53 xtrema

xtrema

    Nouveau membre

  • Membres
  • 7 messages

Posté 09 juin 2008 - 04:55

Robocop, en fait les pic 18F sont plus adaptés pour le C que les 16F et modèles en dessous puisqu'ils disposent de plus de mémoire. Lorsque tu programmes en C un 16F, tu as vite fait de remplir leur capacités. Aussi les 18F disposent de plus d'instructions, je pense, et il est donc plus fastidieux de les programmer en ASM.

#54 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 06:55

[quote"webshinra"][et on note qu'il a fait rigoureusement la meme chose que toi][/quote]


[quote"webshinra"](et maïck nous tu donne une belle preuve que le prix ne signifie rien :-°[/quote]

:| pas tout compris ^^

Il n'existe pas 100000 façons différentes de mettre un bit à "0"...

#55 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 09 juin 2008 - 07:22

ouais, mais justement, tu t'enfonce, tu cherche a nous prouver que les compilateur C font du moins bon code qu'il n'est possible de faire a la main, donc tu nous sort la comparaison entre l'instruction BSF et les quatre ligne pondu par ton "super mega compilateur pour lequelle mon seul argument est le prix", alors qu'un autre compilateur libre lui, donne un resultat equivalent a la solution que tu donne, et tu me sort je ne sais quelle connerie a propos du "toi tu a encore des définition qui devront être (_portb)interprétées" alors que ça c'est du domaine de l'assemblage pas de l'interprétation puisque gpasm(dans mon cas) vas juste le remplacé par l'adresse qui vas bien (se qui est le principe meme de l'assemblage d'ailleur).

enfin, bon, je pense qu'admettre avoir tord dans certain cas est une bonne façons de progressé (comme j'ai par exemple fait avec la télécommande )

#56 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 07:25

Ton code comprend aussi 4 lignes... alors qu'en assembleur seulement 1...
Ce que tu cite la c'était juste une explication de la différence entre nos 2 codes, en aucun cas une critique pour ton "super méga compilateur gratuit" à noter aussi que j'avais seulement CSS sous la main et je n'ai pas chercher plus loin...

#57 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 09 juin 2008 - 07:44

mais merde, j'ai cité quatre ligne de code parce que c'etais se que j'avais sous la main mais tu a bien lut que seul la dernière executé l'instruction en question l'autre met le port en sortie et l'initialise a 0, ça n'a pas de raport, et c'est d'ailleur visible parce que le compilo met le code c concerné en commentaire au dessus.
et ensuite je ne te reproche pas d'utilisé un compilateur couteux, mais de "ratrapé son code" par son prix, enfin bref, je te laisse dans ta mouise, j'en ai assez des dialogues de sourd.

edit: et puis le coup, mon compilateur il est libre, pas gratuit, et ensuite, tu critique les compilateurs qui ne sont pas vendu ouvertement depuis le debut.

#58 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 07:50

XD tu n'as rien compris... JUSTEMENT il exécute 3 lignes qui mettent le port en sortie pour rien !!!

#59 webshinra

webshinra

    Membre passionné

  • Membres
  • PipPipPip
  • 510 messages

Posté 09 juin 2008 - 07:53

non, il suit mon code C, soit tu n'a pas de cerveau soit tu prend les gens pour des cons, dans les deux cas tu devrais la fermé.

#60 Maïck

Maïck

    Membre passionné

  • Membres
  • PipPipPip
  • 390 messages
  • Gender:Male
  • Location:Suisse

Posté 09 juin 2008 - 08:02

Tes insultent ne me donne pas envie de t'expliquer ce que je voulais dire mais bon...

Je voulais seulement montrer que le code C, pour des programmes devant être rapide, prend plus de temps... Je ne parle pas de ton code génialissime, mais la plupart des compilateurs (sauf le tien si bien coder par tes soin) effectuent des opération "inutiles" bien sur elles sont utiles (ici pour mettre le port en sortie) mais elles sont redondantes, si tu met le port à 1 juste après, il remettras le port en sortie... donc c'est du temps perdu... c'est juste en exemple parmi d'autres...

En espérant avoir été claire...
(ton insulte ne me touche même pas tant elle est déplacée... XD




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users