Pourquoi pourquoi Compiler

Sujets variés concernant le développement en PureBasic
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Pourquoi pourquoi Compiler

Message 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
Dernière modification par doudouvs le mar. 06/août/2013 22:03, modifié 1 fois.
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Pourquoi pourquoi Compiler

Message 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) :)
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pourquoi pourquoi Compiler

Message 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
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Pourquoi pourquoi Compiler

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pourquoi pourquoi Compiler

Message 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
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Pourquoi pourquoi Compiler

Message 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.
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pourquoi pourquoi Compiler

Message 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)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pourquoi pourquoi Compiler

Message 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
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pourquoi pourquoi Compiler

Message 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.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Pourquoi pourquoi Compiler

Message par SPH »

Ce que je me demande, c'est pourquoi "pourquoi pourquoi compiler" :lol:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Pourquoi pourquoi Compiler

Message 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.
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: Pourquoi pourquoi Compiler

Message 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.
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Pourquoi pourquoi Compiler

Message 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
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Pourquoi pourquoi Compiler

Message par Backup »

@Ar-s : de la cross compilation ...enfin .. ? :)
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Pourquoi pourquoi Compiler

Message par blendman »

salut

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