1

Pfiou ! Thibaut, le newbie de cygwin, aura bien galéré mur 5h20, j'ai enfin réussit à faire marcher ce truc !

Voici un convertisseur C++ => C ANSI : http://alineasofts.free.fr/lwc/lwc.zip



C'est simple : vous codez votre source en C++, vous donnez votre source à la moulinette ci-dessus, et vous pouvez compiler le résultat avec TIGCC !

LWC doit être placé dans le répertoire \bin de TIGCC et être appelé en ligne de commande, sur le TIGCC command line prompt que vous trouverez dans le groupe TIGCC SDK de votre menu démarrer.
Il faut rediriger la sortie standard du DOS vers un fichier, avec l'opérateur > (merci Pen² wink)

Exemple :
Vous voulez compiler le fichier c:\sources_persos\ma_source_en_c_plus_plus.c
Pour cela :
- ouvrez le TIGCC command line prompt
- tapez lwc c:\sources_persos\ma_source_en_c_plus_plus.c > c_version.c
- faites les 2 corrections manuelles que je décris à la fin de ce post
- tapez tigcc c_version.c suivit d'éventuelles options



Merci à Clément Vasseur (nitro) pour m'avoir fait découvrir LWC et m'avoir conseillé CygWin (je ne serais pas allé loin avec DevC++).

Il y a quelques problèmes à régler. Je verrai ça demain, je modifierai les sources de lwc. En attendant, voici comment les corriger manuellement :

1) il faut virer la toute dernière ligne que LWC place à la fin du fichier qu'il produit, sinon TIGCC n'est pas content.
2) il faut virer les 3 déclarations free, malloc et alloca que LWC place vers le début du fichier qu'il produit.



Bon je vais au dodo, j'ai les yeux qui collent.
@+ zzz
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

2

Juste un exemple, quand même smile

#define NULL ((void *)0)
 
 
 
 
class cplusplus_on_ti_is_reality
{
//protected:
    long  gtc;
    short is;
    int   the;
    char  best;
//public:
    short *tigcc_too(short tab[]);
};
 
 
 
 
short *cplusplus_on_ti_is_reality.tigcc_too(short tab[])
{
  tab[gtc+is+the+best]= 0;
  
  return tab;
}
 
 
 
 
void main(void)
{
  cplusplus_on_ti_is_reality  instance;
  
  instance.tigcc_too(NULL);
}


Voilà une belle classe et son utilisation, que TIGCC a compilée après le passage à la moulinette.
Ne lancez pas ce programme sur votre TI, mon code fait un peu n'importe quoi wink


Notez qu'il se passe un truc que j'ai pas compris... LWC bronchait sur les mots-clés protected et public, alors j'ai été obligé de les passer en commentaires. J'espère que c'est moi qui bogue, et pas LWC smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

3

tu pourrait poster la convertion en C de ta source du post #1 ?? pour voir ce que ça donne

EDIT>Il faut les dll CygWin pour que ça fonctionne
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

4

./4 > si tu ne mets pas protected et public tu perds tout l'avantage des classes, puisque c'est ce qui permet de protéger les données :/

5

brrrrr #tiptop# !
love

6

Je suis d'accord avec µBug... sans public et protected, on perd un gros avantage des classes.
avatar

7

Cool top Mais il ne gère pas les templates mourn

Et aussi je n'arrive pas à le faire marcher :

C:\WINDOWS\Profiles\Paul\Bureau>cpp -D__LWC__ a.c
# 1 "a.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "a.c"
void a() {
        ngetchx();
}

C:\WINDOWS\Profiles\Paul\Bureau>lwc a.c
Running: cpp -D__LWC__ a.c
Preprocessor failed..

C:\WINDOWS\Profiles\Paul\Bureau>


(lwc, cpp et a.c sont tous les trois sur le bureau)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

c dommage pour les templates sad

9

Heu je veux pas etre méchant, mais lwc ne supporte pas la moitié de se que défini le C++ de base (cad sans STL)... :


Adding new features to the language is very easy. We can have delegates
tomorrow. C++-like templates *are* possible. It's also easy to implement
operator overloading for all the operators, pointer-to-member operators,
contracts, attributes, properties, singletons and generally everything
you see in other programming languages. Everything except the ability
to unwind the stack (which is thread-safe) is possible. The hard part is done...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

Du temps qu'il y a les classes ça me suffit, c'est vraiment cool. top
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

11

Les classes sans la définition de public, private et protected sa ne sert pas a gd chose... surtout que normalement dans une classe, tout est privé par defaut :/

Et les classes ne sont pas tout se que le C++ peut permetre...


J'espere qu'il supporte au moins l'héritage !
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

12

Ben oui, j'espère quand même que ça gère l'héritage de classes, parce que sinon, ça ne sert même à rien d'avoir les classes dans ce cas là...
avatar

13

bein ca falilte un peu la vie les classes tongue

14

oué mais les classes sans private ca protege rien du tout.
meme si il y a l'héritage, n'importe quelle fonction pourra modifier les données sans passer par les fonctions de la classe pour vérifer la validité de celles ci :/

15

moi je vois ça comme un gadget assez inutile, si vous voulez vraiment du C++, faites le sur PC
warau kado niha fuku kitaru.

#trifouet#!!!

16

ceci dit ça n'enleve pas la prouesse de thibaut
warau kado niha fuku kitaru.

#trifouet#!!!

17

le c++ n'est quand même pas un gadget par rapport au C.
Mais il est évident qu'il trouve plus son domaine d'application sur pc que sur ti

18

Ce serait bien qu'on puisse avoir le résultat de la conversion en C ANSI d'un exemple.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

19

Sasume > Tu peut, lwc nefait qu'une conversion C++ > C
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

20

Oui, mais en fait, j'ai la flemme de le dl et de tester trigni
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

21

Microbug :
oué mais les classes sans private ca protege rien du tout. meme si il y a l'héritage, n'importe quelle fonction pourra modifier les données sans passer par les fonctions de la classe pour vérifer la validité de celles ci :/

ben par defaut c pas du private ?

22

Ca dépend, je ne sais plus... Je sais que en pascal en C++ et en Java yen a deux qui sont en private par défaut et un en public par défaut, mais je ne sais plus lesquels #honte#.
avatar

23

Vous savez pas lire ?
#10 fin de la premier ligne

Pour info en C

Class > Private par défaut
struct > Public par défaut

(et manque une structure de donnée ou c'est protected par défaut wink)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

24

Ok, ok, ok, ok, ok, ok, ok, ok, ok.... c'est bon, j'avoue, les lentilles de couleur que veut moon, c'est pour moi pour que je puisse mieux lire tongue
avatar

25

lol grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

26

Pour info en C

Class > Private par défaut struct > Public par défaut


oué ça je sais, mais LA, c quoi ? c rien du tout ? privé ?
rien du tout, donc ?
LWC bronchait sur les mots-clés protected et public,

il ne parlait pas du private, tout aurrait pu etre private par defaut !



sinon je viens de repenser, j'av dl un convertisseur pascal -> C. M'enfin je ne sais pas s'il fonctionne correctement. (d'ailleurs je ne connais pas le pascal... je ne sais meme plus pkoi j'av ça, d'ailleurs.)

27

Nil > lol

28

A priori si son code compile, par défaut tu est en public neutral
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

29

ah oué, g meme pas pensé à rgarder le code grin

30

si tout est private, ca va etre difficile de l'utiliser la class remarque grin