MERCREDI 6 NOVEMBRE.
Veuillez lire toutes les notes mises à jour ci-dessous:
20. Le langage C
Mercredi 6 Novembre 2002 à 19h30, chez Ynternet à Lausanne (Place du
Tunnel 18)
Par Marc Mongenet
La majorité des logiciels libres est écrite en C.
Ce cours propose d'abord de découvrir le langage C lui
Veuillez lire toutes les notes mises à jour ci-dessous:
20. Le langage C
Jeudi 24 Octobre 2002 à 19h30, chez Ynternet à Lausanne (Place du Tunnel
18)
Par Marc Mongenet
La majorité des logiciels libres est écrite en C.
Ce cours propose d'abord de découvrir le langage C lui-même : syntaxe
20. Le langage C
Jeudi 24 Octobre 2002 à 19h30, chez Ynternet à Lausanne (Place du Tunnel 18)
Par Marc Mongenet
La majorité des logiciels libres est écrite en C.
Ce cours propose d'abord de découvrir le langage C lui-même : syntaxe,
types, tableaux, pointeurs, allocation, structures. Quelques
Le Vendredi, 13 Septembre 2002 08.15, Francois Ryser a écrit :
Bonjours,
Salut.
Je sais bien que c'est plus simple de poser des questions que de répondre,
mais vous aviez entre autre posé cette question:
Je recherche une methode en c++ de compter le nombre de bits a 1 dans des
mots de 16
Le Vendredi, 13 Septembre 2002 09.41, Francois Ryser a écrit :
Je n'ai pas encore eu de retour du développeur pour le quelle j'ai poser la
question. Moi je ne programme pas en C++ Donc difficile pour moi de
participer a la discussion.
Merci a tout ceux qui ont repondu.
Ah ok..
donc toutes
Finalement, voici le code assembleur de la fonction suivante généré pour un
processeur Itanium. Note : j'ai pris un tableu assez grand pour éviter les
loop unrolling et poub=voir tester les performances (pas fait pour finir)
uint BitCount(uint *w)
{
uint r = 0;
On Tue, 3 Sep 2002, Daniel Cordey wrote:
On Tuesday 03 September 2002 16:58, Marc SCHAEFER wrote:
Sauf s'ils ont déjà renvoyé les personnes qui savaient. Ou que ceux-ci ont
trouvé un meilleur boulot.
Oui, c'est déjà arrivé par le passé (Apollo). Mais en général, les sociétés
font un
On Wed, 4 Sep 2002, Félix Hauri wrote:
(une entreprise n'a pas de savoir faire, elle a des employés).
Aïe!
Si ce que tu dis est vrai alors comment convaincre une entreprise
d'investir dans la formation?
Non, justement, et on refait la formation à chaque départ d'employé :)
Comment
On Monday 02 September 2002 21:52, Marc Mongenet wrote:
Avec le ADDIB ça devient franchement du CISC (comme DBcc sur MC68000).
Sauf que ADDIB prend 2 cycles avec le branchement !
Je ne sais plus. Je me souviens d'articles à propos des prévisions
de performances que les fabricants font avant
On Monday 02 September 2002 21:52, Marc Mongenet wrote:
Comme Intel/HP l'ont fait dans ce projet :
http://www.intel.com/technology/itj/q32001/articles/art_4.htm
Je suis en train de lire l'article, et avant d'avoir fini, je lis ce qui suit
:
There was no runtime environment available on UNIX.
On Tue, 3 Sep 2002, Daniel Cordey wrote:
Maîtriser une architecture EPIC ne s'improvise pas du jours au
lendemain. HP a aujourd'hui plusieurs longueurs d'avances dans cette
technologie, car ils ont commencés à travailler la-dessus vers 1985-86.
Sauf s'ils ont déjà renvoyé les personnes qui
On Tuesday 03 September 2002 16:58, Marc SCHAEFER wrote:
Sauf s'ils ont déjà renvoyé les personnes qui savaient. Ou que ceux-ci ont
trouvé un meilleur boulot.
Oui, c'est déjà arrivé par le passé (Apollo). Mais en général, les sociétés
font un (petit) effort pour garder certains. Entre autre,
2.0. L'analyse di code
assembleur est particulièrement difficile car l'optimisation se fait déjà au
niveau des expressions C et ensuite au niveau de l'architecture du CPU. Comme
sur HP-PA 2.0, toutes les unités fonctionnelles sont doublées, le
compilateurs va essayer de // le code quand cela est
Daniel Cordey wrote:
On Monday 02 September 2002 01:05, Marc Mongenet wrote:
$0003
EXTRW,U %r31,31,8,%r24 ;offset 0x10
ADD,L %r28,%r24,%r28 ;offset 0x14
$0001
ADDIB,1,%r23,$0003;offset 0x18
EXTRW,U %r31,15,16,%r31 ;offset
On Sat, 31 Aug 2002, Marc Mongenet wrote:
Sur Motorola 68000 (désolé, je ne connais pas assez le 386, déjà
le 68000 j'oublie), une boucle de 3 instructions :
Le dernier processeur à assembleur confortable ?
:)
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.
On Friday 30 August 2002 20:08, Roman Merz wrote:
Bien d'accord que des autres principes peuvent etre plus efficaces.
btw une multiplication par deux est souvent traduit par add eax, eax.
Et maintenant, il reste à faire la somme des cycles machines pour chaque
boucle. J'imagine que sur ix6
On Sunday 01 September 2002 18:25, Marc SCHAEFER wrote:
On Sat, 31 Aug 2002, Marc Mongenet wrote:
Sur Motorola 68000 (désolé, je ne connais pas assez le 386, déjà
le 68000 j'oublie), une boucle de 3 instructions :
Le dernier processeur à assembleur confortable ?
Ouai, parcequ'avec Itanium
Daniel Cordey wrote:
Bien d'accord que des autres principes peuvent etre plus efficaces.
btw une multiplication par deux est souvent traduit par add eax, eax.
Et maintenant, il reste à faire la somme des cycles machines pour chaque
boucle. J'imagine que sur ix6 une multiplication s'ffectue
On Thursday 29 August 2002 19:32, Ivo Bloechliger wrote:
for (i = 0; i 16; ++i) {
r += w % 2 ; // on accumule le reste de la division entiere par deux
w = w / 2; // division entiere */
Sauf erreur, le compilateur est capable de détecter une
division/multiplication par une
lieu de /2 ) alors on doit pouvoir
se contenter d'additionner le bit de retenue (si tant est que cette notion
existe en C, vieux souvenir d'assembleur;)
Non, pas à ma connaissance, il faudra passer par l'assembleur (d'ailleurs
pas toutes les variantes des bit shifts assembleur font de la retenue
Bonjours,
Je recherche une methode en c++ de compter le nombre de bits a 1 dans des
mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur
1 million de mots de 16 bits
Ryser Francois
Manteia S.A. Predictive Medicine
http://www.manteia.com
tel +41 22 354 58 22
fax +41 22
On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote:
Bonjours,
Je recherche une methode en c++ de compter le nombre de bits a 1 dans des
mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur
1 million de mots de 16 bits
utilise la division modulo avec 2
Philippe Strauss wrote:
[EMAIL PROTECTED]">
On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote:
Bonjours,Je recherche une methode en c++ de compter le nombre de bits a 1 dans desmots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur1 million
Ivo Bloechliger wrote:
On Thu, Aug 29, 2002 at 06:34:28PM +0200, Francois Ryser wrote:
Bonjours,
Je recherche une methode en c++ de compter le nombre de bits a 1 dans des
mots de 16 bits, mais avec un imperatif de vitesse car nous devons faire sur
1 million de mots de 16 bits
Je pense que
vi ./helloworld.c
En fait, je viens d'y repenser :
gcc travaille avec l'extension des fichiers !! Si ton fichier est un .c,
c'est un fichier avec du code C ! Pour du C++, il faut que ce soit un fichier
.cpp, .cc, ou .C !!
+
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une
- ATTENTION, l'indentation à un rôle dans la syntaxe
Quand tu parles d'indentation, il est bien de préciser la phrase à se
rappeler par coeur :
Dans un Makefile, une commande commence par un tabulateur, et TOUJOURS par un
tabulateur !! ;-
@+
--
*
Cédric Rochat
On Wednesday 17 July 2002 22:54, Pascal Perez - LHA wrote:
g++
:'( ... moi je l'ai pas...
Pardon ? Et qu'as-tu donc quand tu fais :
man gcc
???
Tu dois à la fois avoir gcc et g++. Si tu n'as pas g++ (/usr/bin/g++), ce que
ton GNU C/C++ n'est que partiellement installé.
Daniel
hello,
je voulais tester GCC pour compiler un prog tout simple en C++ :
vi ./helloworld.c
#include iostream
init main () {
std::coutHello World!\n;
}
mais : gcc -o ./helloworld.c donne :
./helloworld.c:1:20: iostream: No such file or directory
je n'ai rien trouvé sur google de spécial
On Wednesday 17 July 2002 15:34, Pascal Perez - LHA wrote:
mais : gcc -o ./helloworld.c donne :
./helloworld.c:1:20: iostream: No such file or directory
je n'ai rien trouvé sur google de spécial... j'ai aussi essayé avec
iostream.h mais rien n'y fait.
au cas ou : gcc -v
Reading specs
je voulais tester GCC pour compiler un prog tout simple en C++ :
J'ai eu le même problème quand je compilais sans Makefile !!
je crois que Kdevelop utilise c++ pour la compil...
Dans mes Makefile sous Kdevelop, j'ai ceci (ça peut toujours aider) :
CC = gcc
CPP = gcc -E
CXX = c++
CXXCPP = c
Le Mercredi, 17 Juillet 2002 15.34, Pascal Perez - LHA a écrit :
hello,
je voulais tester GCC pour compiler un prog tout simple en C++ :
vi ./helloworld.c
#include iostream
init main () {
Pas init mais int, il y'a un i de trop.
std::coutHello World!\n;
}
mais : gcc -o
Bonjour,
Connaissez-vous de bonnes listes francophone pour le c++ ?
Merci
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.
g++
:'( ... moi je l'ai pas
et pour répondre é Cédric :
Dans mes Makefile sous Kdevelop, j'ai ceci (ça peut toujours aider) :
CC = gcc
CPP = gcc -E
CXX = c++
CXXCPP = c++ -E
j'ai pas de makefile ! et je sais pas les créer ou pourrais-je trouver
des infos ?
P
PS: même avec 'int
hello,
ce mercredi 17 juillet 2002, Pascal Perez a écrit:
je voulais tester GCC pour compiler un prog tout simple en C++ :
vi ./helloworld.c
#include iostream
init main () {
std::coutHello World!\n;
}
mais : gcc -o ./helloworld.c donne :
./helloworld.c:1:20: iostream
:
#
# Auteurs et date
all:
c++ *.c -o prog
clean:
rm *.o
bidon:
echo N'importe quoi
#
- ATTENTION, l'indentation à un rôle dans la syntaxe
- les lignes commentées commencent par #
- all et la branche par défaut
Pascal Perez - LHA wrote:
g++
:'( ... moi je l'ai pas
Peut-être n'as-tu simplement pas de compilateur C++ ?
et pour répondre é Cédric :
Dans mes Makefile sous Kdevelop, j'ai ceci (ça peut toujours aider) :
CC = gcc
CPP = gcc -E
CXX = c++
CXXCPP = c++ -E
j'ai pas de makefile ! et
Laurent Hermann wrote:
Bonjour,
Connaissez-vous de bonnes listes francophone pour le c++ ?
Merci
Dans les newsgroups francophones il y a des contributeurs de
très haut niveaux (participants à la standardisation).
Pour un niveau un peu plus bas, je réponds volontiers
aux questions.
Marc
On Thu, 27 Sep 2001 10:25:19 +0200,
Daniel Cordey [EMAIL PROTECTED] wrote:
On Thursday 27 September 2001 10:04, Francois Ryser wrote:
Bonjours j'ai une petite question sur le développement en C++ je recherche
une doc. sur comment écrire une application qui fait du calcule
Bonjours j'ai une petite question sur le développement en C++ je recherche
une doc. sur comment écrire une application qui fait du calcule distribué
sur plusieurs machine.
Merci d'avance
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner
On Thursday 27 September 2001 10:04, Francois Ryser wrote:
Bonjours j'ai une petite question sur le développement en C++ je recherche
une doc. sur comment écrire une application qui fait du calcule distribué
sur plusieurs machine.
Je ne sais pas si tu connais déjà PVM (http://www.epm.ornl.gov
Merci à tous pour votre aide pour cette conversion de prgramme C de
alpha vers Linux. L'utilisation de fileno(f) à la place de fd=f-_file
fonctionne avec gcc-Linux.
Je dois avouer que je suis assez surpris de voir que des opération aussi
importantes que les I/O ne soient pas standard entre ces
le toucher. Consulte une fois un standard
ANSI C.
Moi je trouve relativement sain que de temps en temps l'implémentation
nous rappelle les limites du standard.
Par contre, cela lève effectivement la question du travail supplémentaire
créé par l'utilisation de deux libc qui diffèrent au niveau
On Wed, 18 Jul 2001, Thierry Lombardot wrote:
Merci à tous pour votre aide pour cette conversion de prgramme C de
alpha vers Linux. L'utilisation de fileno(f) à la place de fd=f-_file
fonctionne avec gcc-Linux.
Je dois avouer que je suis assez surpris de voir que des opération aussi
On Wed, 18 Jul 2001, Thierry Lombardot wrote:
Je dois avouer que je suis assez surpris de voir que des opération aussi
importantes que les I/O ne soient pas standard entre ces systèmes...
En fait, je crois que la presence de la definition de la structure FILE n'est
la que parceque les
erreur fileno ce n'est pas non plus du
ANSI C mais du POSIX.
Sauf erreur, ANSI C n'est pas sence definir des librairies, mais seulement la
syntaxe du language C. Il est normal que l'on trouve cette definition dans
POSIX car elle se rapproche de l'implementation. Bref, il n'y a pas d'autre
On Tue, 17 Jul 2001, Daniel Cordey wrote:
Sauf erreur, ANSI C n'est pas sence definir des librairies, mais seulement la
syntaxe du language C. Il est normal que l'on trouve cette definition dans
Il y a deux bouquins qui valent le détour si ces détails vous intéressent:
- The C
Marc SCHAEFER wrote:
D'après ce qu'on voit dans ces livres, la bibliothèque C standard fait
partie du standard ANSI C/ISO C. Ou du moins une description d'assez haut
niveau qui mentionne les fonctions principales, les critères généraux (ce
qui peut être macro, fonction, etc), mais qui
Bonjour tous!
J'ai un code source un C qui compile sur une alpha, mais pas sous linux (gcc
2.95.2). Le problme est apparemment au niveau du file descriptor "_file".
Est-ce que des fichiers headers d'entre-sorties sont diffrents sous alpha
et sous linux (gcc)?
Merci de votre aid
* est une structure privée à la libc, non
définie dans le standard ANSI C. Pas touche!
/* The opaque type of streams. */
typedef struct _IO_FILE FILE;
utiliser fileno(f) pour obtenir le file descriptor associé à un FILE *. Et
lire les warnings: faut pas mélanger stdio avec les appels systèmes
Frederic Schutz wrote:
Merci tous ceux qui ont rpondu !
Question principale: a se fait d'avoir une bibliothque en .o, accompagne
d'un simple fichier texte ct ?
Non, sauf si c'est ncessaire. De ce cas a n'a pas l'air ncessaire.
C'est par exemple ncessaire pour "/etc/resolv.conf".
Et
qu'un fichier a lire, un
brin plus lent que les tableaux, mais la taille est dynamique.
Et dans l'hypothse o je code le tout "en dur", il me semble plus simple
de coder un tableau qu'une longue srie d'instructions pour crer la liste.
[Jos]
Quelques languages (bilbiothques), et peut-tre
Bonjour,
je suis en train d'crire une bibliothque qui contient une fonction qui
associe des intervalles de l'alphabet des nombres, par exemple
Aaa - Ab 1
Aba - Ac 2
Aca - Ad 3
etc, il y a disons 1000 entres comme a.
Quelle est la meilleure faon de stocker tout a ? Je vois
je suis en train d'écrire une bibliothèque qui contient une fonction qui
associe des intervalles de l'alphabet à des nombres, par exemple
Aaa - Ab 1
Aba - Ac 2
Aca - Ad 3
etc, il y a disons 1000 entrées comme ça.
Quelle est la meilleure façon de stocker tout ça ? Je
Frederic Schutz wrote:
[...]
Quelle est la meilleure faon de stocker tout a ?
[...]
Pourquoi stocker et non pas calculer chaque fois ?
--
Paul-Jean Cagnard
"Gianna Nannini, pourquoi tant de N ?"
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.
), et peut-tre mme c, ont une
function digest (souvent associ avec des 'hashtables') qui, dans le
cas, pourrait suffir.
S'il n'y a pas, il s'agit de quelque chose genre lire les char en int et
les composer type:
"abc" - ( (int) a) * mod^2+ ((int) b) * mod +((int) c)
- o mod est un int
On Wed, 28 Mar 2001, Frederic Schutz wrote:
Quelle est la meilleure faon de stocker tout a ? Je vois deux solutions
faciles: soit faire un grand tableau statique de 1000 x 3 et stocker le
tout avec le code, soit stocker le tableau dans un fichier spar qui sera
lu au moment o c'est ncessaire.
On Mon, 08 Jan 2001, Cyril Niklaus wrote:
Alors dans ce cas, pourquoi Phillips fabriqueraient-ils des lecteurs
CD compatibles CD-RW? Quelle est la raison pour laquelle on ne doit pas
utiliser les CDRW pour de l'audio, selon le texte que tu as lu? Est-ce
simplement parce que les lecteurs
Hello,
Qui peut m'aider concernant la compilation de code en
c++ sous Linux (SuSE 7.0)? Quelques questions...
1. Les fichiers sources des programmes a` installer
(provenance: USA, labo de bioinformatique) sont en
*.cc et non *.cpp. Quelle est la difference?
2. Quelle est la difference entre le
Thierry Lombardot wrote:
Hello,
Qui peut m'aider concernant la compilation de code en
c++ sous Linux (SuSE 7.0)? Quelques questions...
1. Les fichiers sources des programmes a` installer
(provenance: USA, labo de bioinformatique) sont en
*.cc et non *.cpp. Quelle est la difference
En durée de vie, le DAT peut durer jusqu'à 15 ans s'il est stocké dans de
bonnes conditions *et déroulé régulièrement* (faudrait que je retrouve
l'information exacte pour être sûr). Mais dans des conditions usuelles de
bureautique sans trop de précautions, peut-être 5 ans (en tous cas
j'arrive à
On 29 Sep 2000, Paul-Jean Cagnard wrote:
Je me suis limité à 9 GB par simple conservatisme: j'achète toujours une
génération de retard (en 1996 j'ai acheté des DCAS/4 GB (5400 RPM) alors
Une seule ? Ca me rappelle qqch a propos de teletype, et aussi de
PDP-11...
hihi
je n'ai jamais
On a deux approches:
- l'approche avec support: remplacement du matériel rapide, voire
dépannage sur site, et peut-être la garantie de fonctionnement
de tous les composants sur une Red Hat standard p.ex. (à ma
connaissance les constructeurs ne connaissent pas encore les
Hello,
Je débute en C et l'on m'a conseillé Xemacs pour
l'édition sous Linux. Est-ce un bon choix?
Et vi ou Emacs sont-ils très utilisés?
D'autre part, j'aimerais savoir si certains d'entre
vous ont des informations concerant la bioinformatique
(génomique etc...) car je débute dans ce domaine
Thierry Lombardot wrote:
D'autre part, j'aimerais savoir si certains d'entre
vous ont des informations concerant la bioinformatique
(génomique etc...) car je débute dans ce domaine
également. Merci d'avance...
Oui. Il faudrait préciser un peu ce que tu veux (questions générales,
programmes
On Fri, 22 Sep 2000, Daniel Cordey wrote:
*Emacs est certainement l'editeur le plus utilise sous Unix/Linux. vi est
bien anterieur a Emacs et doit obligatoirement fonctionner dans une fenetre
"terminal" (Xterm ou autre). Peut-etre le plus significatif est le
vi est plus facile à caser sur
Daniel Cordey [EMAIL PROTECTED] writes:
Encore "pire" mais fonctionnant VRAIMENT sur TOUS les Unix...
vi... no comment .
Oui, mais pas sur tous les terminaux. Si on veut quelque chose qui
marche dans tous les cas il faut utiliser ed. ;-]
--
Paul-Jean Cagnard
"Gianna Nannini, pourquoi tant
Encore "pire" mais fonctionnant VRAIMENT sur TOUS les Unix...
vi... no comment .
Oui, mais pas sur tous les terminaux. Si on veut quelque chose qui
marche dans tous les cas il faut utiliser ed. ;-]
Ah... pourtant les directory terminfos me paraissent bien remplis :-) Et puis,
mis a part
Bonjour à tous.
Utilisant Borland C sous DOS au cours professionel je voudrai faire mes
exercices à la maison sous Linux.
J'ai bien trouvé gcc et Kwrite avec les couleurs pour la syntaxe. Mais c'est
quand même moi pratique de passer d'une fenêtre à l'autre, que d'avoir tout
dans la même fenêtre
At 22:47 20.09.2000 +0200, you wrote:
Bonjour à tous.
Utilisant Borland C sous DOS au cours professionel je voudrai faire mes
exercices à la maison sous Linux.
J'ai bien trouvé gcc et Kwrite avec les couleurs pour la syntaxe. Mais c'est
quand même moi pratique de passer d'une fenêtre à l'autre
Bonjour à tous.
Utilisant Borland C sous DOS au cours professionel je voudrai faire mes
exercices à la maison sous Linux.
J'ai bien trouvé gcc et Kwrite avec les couleurs pour la syntaxe. Mais c'est
quand même moi pratique de passer d'une fenêtre à l'autre, que d'avoir tout
dans la même
"P. Damien" [EMAIL PROTECTED] writes:
Bonjour à tous. Utilisant Borland C sous DOS au cours professionel
je voudrai faire mes exercices à la maison sous Linux. J'ai bien
trouvé gcc et Kwrite avec les couleurs pour la syntaxe. Mais c'est
quand même moi pratique de passer d'une
- il génère aussi un ./configure.
- il s'interface avec gcc, make, kdebug (qui s'interface avec gdb)
- pour ceux qui trouvent cela utile il permet de savoir où une
fonction ou variable donnée a été définie.
- il centralise toute la documentation C/C++/KDE/Qt.
Je l'ai essayé une semaine pour
At 09:05 02.08.00 +0200, you wrote:
Bonjour.
Nouveau sous Linux mon matériel à malheureusement été acheté avant. Je
voudrai savoir si l existe une possibilité d'imprimé avec ces deux machines.
Il me semble que nom merci HP mais si quelqu'un a une solution elle est la
bien venue.
Tu devrais
73 matches
Mail list logo