Page 1 sur 2

Pourquoi pourquoi Compiler

Publié : mar. 06/août/2013 21:43
par doudouvs
Salut les Gens,

Comme je voudrai pas mourir con, je pose la question suivant :

Pourquoi ne peut-on pas compiler un programme quand on code sans les API (restrictive au system) pour les différentes versions peu importe la plateforme de développement Osx, Linux, Windows.

Car certain soft y arrive !!! ou alors c'est qu'il utilise un Framework.

J'y comprend rien donc je m'informe, merci d'être indulgent les Gens.

A+ pour la réponse

Re: Pourquoi pourquoi Compiler

Publié : mar. 06/août/2013 21:55
par Backup
je pense que Purebasic y vas tout doucement

ça s'appelle la Cross Compilation
fais une recherche sur internet :)

ça demande des librairies pour chaque OS (c'est pourquoi je pense qu'on y vas doucement) :)

Re: Pourquoi pourquoi Compiler

Publié : mar. 06/août/2013 22:30
par doudouvs
Je comprend à moitié. Les API j'ai pigé c'est des truc qui nous sert à développé plus rapidement, par contre si le malin yen a toujours un (bilou) décide de supprimer quelques fonction ou des le modifier notre programme est HS. Voilà pourquoi je m'y interesse pas plus.

Par contre la tu me parle des librairies pour moi c'est obscure quoi que j'y vais de temps en temps pour un paquet de clope (c'est pas bien de fumée) boire non plus d'ailleurs.

Pour moi d'après mes connaissances GCC peut bien faire un .exe et si je suis pas complètement a coter de la plaque PB utilise GCC. Après je peut compre que ce soit un soucis d'implantation

chi va piano, va sano e va lontano

Re: Pourquoi pourquoi Compiler

Publié : mer. 07/août/2013 12:13
par GallyHC
Bonjour,

Déjà les API (Windows) cela veut dire "Application Programming Interface " et sont diviser en deux grosses classes (Dll, Ocx). Les "Ocx" sont les librairies permettant d'avoir les actions graphique dans Windows.

Alors au minimum un programme un soft compiler en PB ce servira de ces parties pour ouvrir fermer une fenêtre, gérer les boutons et tout le graphique. Après si tu compile juste en juste une code simple, il y a des DLL mathématique ect.... Pourquoi refaire tout un code quand une DLL donne déjà le tout est optimisé?

Cordialement,
GallyHC

Re: Pourquoi pourquoi Compiler

Publié : mer. 07/août/2013 13:06
par doudouvs
Bonjour @GallyHC et les autres.

Ahhhhh les Dll je comprend mieux, c'est petites choses qui rende des services celui qui les a inventé aurai mieux fait de ce cassé une jambe ou les 2 d'ailleurs. Pour les Ocx (ActiveX) c'est pire il aurai du perdre les bras.

Donc si je comprend bien PB utilise pour Windows obligatoirement les Ocx, pour linux autre chose et pour Osx peut être autre chose ?.

Ce qui m'enerve le plus c'est que les choses soit liée entre elle, si demain microsoft décide de modifier les Dll ou Ocx personne n'y pourra rien et les programmes sont a refaire. Un peut comme de passer du 32bits au 64bits.

J'ai fait il y a quelques années (quand j'était un peu con), un petit soft qui modifie la base des registres et autre, dont je ne donnerai aucun détail.

Aujourd'hui il marche encore. Le pire c'est malgré toutes les modifications du coter de Microsoft niveau sécurité il marche toujours et peut modifier les fichiers à souhait. Je ne parle pas des antivirus qui ne capte rien nada de chez nada. Si un administrateur souhaite modifier un fichier passer à la moulinette il ne pourra plus avec un jolie message (vous devez être administrateur pour modifier le fichier).

Donc tant que la couche Dos sera la ce sera possible et windows ne pourra jamais modifier/supprimer cette couche sous peine que plus aucun programme ne marche (Dos Windows un mariage à vie).

Voila pourquoi ma question de départ, je pensé que PB n'utiliser pas c'est saloperies et donc que l'on pouvez compiler d'une plateforme pour une autre (Cross compilation) merci @Dobro

Je vois que PB et une longue route sans fin... pour @Fred et les autres participant ou utilisateur hein @KCC

Si quelqu'un souhaite apporter d'autres informations (juste pour le savoir) je suis preneur.

Merci à vous

Re: Pourquoi pourquoi Compiler

Publié : mer. 07/août/2013 13:31
par GallyHC
DirectX est une API, imagine les societes de jeux qui devrait recoder les couches basse d'acces a la vidéos et autre. Un jeux couterais encore plus cheres (Déjà que...).

Après (c une simple suposition) il faut 100 lignes de codes pour ouvrir une fenêtre, donc dans chaque programme il faut c'est 100 lignes. Mais avec l'ocx il ne faut q'une ligne et donc plus simple pour programme.

Pour les calculs mathematiques, tu fait ton prog pour x raison dans ta logique ton calcul est faut et bien tu es dans la ..... par contre avec la bonne DLL pas de prob car touts le monde l'utilise elle est forcement bonne de base.

C'est une question d'uniformisé les choses et d'évité de devoir faire des choses en couche basse (direct proc, ect...) que c'est choses existe.

Sur Amiga cela existé deja (les library) et pourtant c'été un bon OS (je suis fan d'amiga lolll).

Une API c'est aussi les plugins (exemple decompresseur vidéos). Autemps dire que cela est aussi nulle est que chaque soft recode a chaque fois le decompresseur vidéos. Si le code de decrompression prend (2Mo) chaque soft aura aussi 2 Mo de plus pour fonctionner.

Non cela est fait pour être le plus utilisable possible. Donc utile.

Cordialement,
GallyHC

PS: que ce soit des « .dll », des « .so » ou j’en passe, elles ont toutes la même fonction. Aidé l’utilisateur et surtout le programmeur. Dire que c’est librairie (quelque part des fonctions) c’est une connerie reviendrais à dire que pour changer ma roue de voiture, j’en refais une en bois moi-même.

Re: Pourquoi pourquoi Compiler

Publié : jeu. 08/août/2013 8:54
par Kwai chang caine
doudouvs a écrit :Ahhhhh les Dll je comprend mieux, c'est petites choses qui rende des services celui qui les a inventé aurai mieux fait de ce cassé une jambe ou les 2 d'ailleurs.
Si je ne m'abuse...je crois que tu confonds deux choses
Par le terme DLL tu englobes TOUTES les DLL
Seulement voila, il y a une distinction à faire entre les DLL activeX (Invention de crosoft, c'est à dire une DLL standard avec une cochonerie dedans en plus qui les rendent tributaires de la BDR) et les DLL standard libres comme l'air

Je te rejoins pour ce qui est des ActiveX, que l'on peut créer avec VB6 ou superieur et d'autre langages surement
Obligé de les inscrire dans la BDR, ce qui rend les applis non portables, bref une grosse daube
Je me suis battu plusieurs années a essayer de les utiliser comme il ne faudrait pas, les rendres plus souples dans leur installation, essayer de les convertir en standard, et tout a foiré, rien n'etait stable :?

Par contre la DLL standard C, pas d'enregistrement obligatoire, portable, est une des plus belles choses que j'ai vue de la prog
Elle existent en plusieurs standards d'appel (StdCall, cdecl..), mais restent toujours libres de tout attachement si on ne le desire pas

Une seule DLL peut tourner avec des dizaines de prog simultanement, pas besoin de reecrire les fonctions, tu modifie une ou plusieurs fonctions dans la DLL et toutes tes applis profitent de la modif sans recompilation, trop de la balle 8O
Revers de la medaille, tu te gourres dans la DLL et plus rien marche :mrgreen:
Et aussi toujours faire attention à garder une rétrocompatibilité ou compatibilité descendante, ce qui allourdi le code et fait des especes de gluttes à la fin du compte
Un probleme qu'a bien connu crosoft a vouloir garder compatible une grande partie de ses OS et langages VB jusqu'a l'arrivé de .NET

Une DLL (Standard car je ne parle que d'elles, trop "pourites" les autres :twisted:) c'est un programme pour programme, une librarie, un stockage enfin avec PB on peut tout en faire.
Je ne suis pas sur que tout ce que l'on peut faire avec PB est bien "legal" mais on peut mettre dans une DLL tout ce que l'on peut mettre dans un prog ou presque

Voila juste ce petit bemol pour defendre mes amies, une des plus belle invention de la prog de par mon avis personnel 8)

Re: Pourquoi pourquoi Compiler

Publié : jeu. 08/août/2013 13:32
par doudouvs
Désoler de vous décevoir, j'ai réussi à compiler un .exe sous linux, je ferai une procèdure pour vous expliquer.
Pour l'instant cela marche de linux pour crée des .exe en x86 x64, je cherche une solution pour Osx

J'espere aussi trouver une solution pour les amis Windows qu'il puisse compiler pour Linux, Osx cela demandera l'installation de cygwin

@KCC j'ai bien compris les différences entre les DLL merci pour ton petit cours :) je serait donc "Libre comme l'air" !!!

@Dobro on va faire du vrai/faux Cross Compilation (en trichant un peu) :D

Re: Pourquoi pourquoi Compiler

Publié : ven. 23/août/2013 9:01
par Ar-S
alon a écrit :Please translate this post to engish i am not getting your words by my translater...Thanks!
Hi, please next time ask your question in french even if translation is not really good.

To answered you :

Code : Tout sélectionner

Désoler de vous décevoir, j'ai réussi à compiler un .exe sous linux, je ferai une procèdure pour vous expliquer.
Pour l'instant cela marche de linux pour crée des .exe en x86 x64, je cherche une solution pour Osx

J'espere aussi trouver une solution pour les amis Windows qu'il puisse compiler pour Linux, Osx cela demandera l'installation de cygwin
He says he will do a tutorial to explain how making an application for Linux x86/x64 and he is looking for a salution do make one on mac os. He also says that is looking for a way to compil a linux with a windows OS, we will need cygwin to do that.

Re: Pourquoi pourquoi Compiler

Publié : ven. 23/août/2013 22:58
par SPH
Ce que je me demande, c'est pourquoi "pourquoi pourquoi compiler" :lol:

Re: Pourquoi pourquoi Compiler

Publié : sam. 24/août/2013 8:48
par blendman
salut

Si je comprends, avec quelques lib à installer, il va être possible de compiler pour linux et macos ?
Ce serait vraiment très intéressant.

Re: Pourquoi pourquoi Compiler

Publié : sam. 24/août/2013 9:06
par doudouvs
SPH a écrit :Ce que je me demande, c'est pourquoi "pourquoi pourquoi compiler" :lol:
Je complete ma phrase "pourquoi pourquoi compiler .. (sous chaque systèmes)" avant de faire mon choix sur purebasic j'ai testé d'autre soft notamment realbasic, ce qui ma plu c'est de pourvoir compiler sous un système pour d'autres les points noirs j'en parle pas.

Mon choix final c'est porter sur purebasic pour diverses raisons, surtout le fait d'avoir un .exe de petite taille, la politique de licence vraiment correcte, Fred est Alsacien lol.

@blendman
pour l'instant j'ai tester la compilation sur un linux je compile pour windows sans problème pour macos c'est un autre histoire. Comme mon environnement principal est macos j'aimerai compiler de macos pour windows/linux.

J'ai pas eu le temps de faire d'autre teste car je suis sur la finalisation d'un projet conséquent, je vous fait un retour quand j'ai un peu plus de temps.

Re: Pourquoi pourquoi Compiler

Publié : mer. 18/sept./2013 6:39
par Golfy
Parce que parce que (!) sinon on serait obligé d'utiliser un langage comme Java (en runtime) ou Python, etc.
Plus tu veux de la vitesse, plus tu dois te rapprocher des fonctions que la machine et son OS t'offre.
Les DLL, Libs et autres fonctions ne sont que des béquilles et tu peux (moyennant de gros efforts pour refaire le monde :roll: ) t'en passer

Re: Pourquoi pourquoi Compiler

Publié : mer. 18/sept./2013 7:14
par Backup
@Ar-s : de la cross compilation ...enfin .. ? :)

Re: Pourquoi pourquoi Compiler

Publié : mer. 18/sept./2013 11:13
par blendman
salut

alors, des news pour compiler pour Linux/MacOsx depuis windows, ou pour toutes plateformes via n'importe quel os ? ^^