rss
Problème de compilation
par Littlenico
 Fil de Discussions
Statut : Non résolu
samedi 11 février 2006 à 10:41:29
Bonjours à tous.
je suis nouveau dans la programmation et lorsque je demande à linux de me compiler un fichier il me répon "no newline at end of file".
Que dois je faire ?
merci
Configuration: linux mandriva 2006
Répondre à Littlenico  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le samedi 11 février 2006 à 11:30:54 Fil de Discussions
no newline at end of file

pas de nouvelle ligne à la fin de fichier

Que dois je faire ?
Affiche ton code s'il n'est pas confidentiel.
Répondre à lami20j

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le samedi 11 février 2006 à 11:52:00 Fil de Discussions
Quel code ?
Répondre à Littlenico

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le samedi 11 février 2006 à 11:54:05 Fil de Discussions
compiler un fichier

Quel fichier?
Répondre à lami20j

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le samedi 11 février 2006 à 11:59:53 Fil de Discussions
c'est un fichier tout simple. un fichier C++ qui est censé m'écrire "bonjour" (j'y ai inclus des bibliothèques)
Répondre à Littlenico

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le samedi 11 février 2006 à 12:02:25 Fil de Discussions
Alors quand j'ai dit code j'ai pensé au code source de ton fichier.

En bref, fait une copier/coller de ton fichier pour voir le code ( ton programme )
Répondre à lami20j

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le samedi 11 février 2006 à 13:04:13 Fil de Discussions
ah OK. lol. alors le code c'est :
#include /home/nicolas/TRAVAIL/entreeSortie.h
#include /home/nicolas/TRAVAIL/chaine.h

int main ()
{
ecrire(uneChaine("bojour"));
}


et entreeSortie est la bibliothèque des procédures "lire" et "ecrire"
et chaine est la bibliothèque des cahines de charactères
Répondre à Littlenico

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le samedi 11 février 2006 à 13:16:16 Fil de Discussions
En ce cas c'est mieux de afficher
entreeSortie.h et chaine.h pour voir ce que tu as dédans.
Répondre à lami20j

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le samedi 11 février 2006 à 14:12:54 Fil de Discussions
POUR CHAINE :

partie spécification :



#ifndef _CHAINE_H
#define _CHAINE_H

//------------------------------------------------------------------------------
// IMPORTATION DES BIBLIOTHEQUES UTILISEES
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// DECLARATION DES CONSTANTES
//------------------------------------------------------------------------------
const int NB_CAR = 255 ; // nombre de caracteres maximum de la chaine

//------------------------------------------------------------------------------
// DEFINITION DES TYPES TABLEAU
//------------------------------------------------------------------------------
// definition d'un tableau de 255 caracteres significatifs
typedef char TabCar [255 + 1] ;

//------------------------------------------------------------------------------
// DEFINITION DES TYPES ENREGISTREMENT
//------------------------------------------------------------------------------
// definition du type Chaine
struct Chaine
{
TabCar chaine ;
} ;

//------------------------------------------------------------------------------
// SPECIFICATION DES SOUS-PROGRAMMES DE MANIPULATION DU TYPE ABSTRAIT DE
// DONNEE Chaine
//------------------------------------------------------------------------------

// constante designant une chaine vide
Chaine CHAINE_VIDE () ;

// construit une chaine a partir d'un tableau de caracteres terminé par '\0'
// leve l'exception "LONGUEUR INVALIDE" si la chaine resultat depasse
// 255 caracteres
Chaine uneChaine (const TabCar t) throw (Chaine) ;

// construit une chaine a partir d'un caractere
Chaine uneChaine (const char c) ;

// renvoie le nombre de caracteres effectif d'une chaine ch
int longueur (const Chaine ch) ;

// renvoie une chaine resultant de la concatenation de ch2 a ch1
// leve l'exception "LONGUEUR INVALIDE" si la chaine resultat
// depasse 255 caracteres
Chaine concatener (const Chaine ch1, const Chaine ch2) throw (Chaine) ;

// renvoie le resultat de l'expression ch1 == ch2
bool egal (const Chaine ch1, const Chaine ch2) ;

// renvoie le resultat de l'expression ch1 < ch2 (ordre lexicographique)
bool inf (const Chaine ch1, const Chaine ch2) ;

// renvoie le resultat de l'expression ch1 > ch2 (ordre lexicographique)
bool sup (const Chaine ch1, const Chaine ch2) ;

// renvoie le resultat de l'expression ch1 != ch2
bool diff (const Chaine ch1, const Chaine ch2) ;

// renvoie le resultat de l'expression ch1 <= ch2 (ordre lexicographique)
bool infEgal (const Chaine ch1, const Chaine ch2) ;

// renvoie le resultat de l'expression ch1 >= ch2 (ordre lexicographique)
bool supEgal (const Chaine ch1, const Chaine ch2) ;

// renvoie le caractere de rang i d'une chaine ch
// l'indice du premier caractere a pour valeur 0
// leve l'exception "RANG INVALIDE" si i < 0 ou si i >= longueur (ch)
char ieme (const Chaine ch, const int i) throw (Chaine) ;

// remplace le caractere de rang i d'une chaine ch par le caractere c
// l'indice du premier caractere a pour valeur 0
// leve l'exception "RANG INVALIDE" si i < 0 ou si i >= longueur (ch)
void changerIeme (Chaine & ch, const char c, const int i) throw (Chaine) ;

#endif


partie implémentation :

//------------------------------------------------------------------------------
// IMPORTATION DES BIBLIOTHEQUES UTILISEES
//------------------------------------------------------------------------------
#include <string.h>
#include <iostream>
#include "chaine.h"


//------------------------------------------------------------------------------
// SOUS-PROGRAMMES
//------------------------------------------------------------------------------
Chaine CHAINE_VIDE ()
{
Chaine ch ;
strcpy (ch.chaine, "") ;
return (ch) ;
}

Chaine uneChaine (const TabCar t) throw (Chaine)
{
Chaine ch ;
if (strlen (t) > 255)
{
throw uneChaine ("LONGUEUR INVALIDE") ;
}
strcpy (ch.chaine, t) ;
return (ch) ;
}

Chaine uneChaine (const char c)
{
Chaine ch ;
ch.chaine[0] = c ;
ch.chaine[1] = '\0' ;
return (ch) ;
}


int longueur (const Chaine ch)
{
return (strlen (ch.chaine)) ;
}

Chaine concatener (const Chaine ch1, const Chaine ch2) throw (Chaine)
{
Chaine ch ;
if (strlen (ch1.chaine) + strlen (ch2.chaine) > 255)
{
throw uneChaine ("LONGUEUR INVALIDE") ;
}
strcpy (ch.chaine, ch1.chaine) ;
strcat (ch.chaine, ch2.chaine) ;
return (ch) ;
}

bool egal (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) == 0) ;
}

bool inf (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) < 0) ;
}

bool sup (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) > 0) ;
}

bool diff (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) != 0) ;
}

bool infEgal (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) <= 0) ;
}

bool supEgal (const Chaine ch1, const Chaine ch2)
{
return (strcmp (ch1.chaine, ch2.chaine) >= 0) ;
}

char ieme (const Chaine ch, const int i) throw (Chaine)
{
if (i < 0 || i >= strlen (ch.chaine))
{
throw uneChaine ("RANG INVALIDE") ;
}
return (ch.chaine [i]) ;
}

void changerIeme (Chaine & ch, const char c, const int i) throw (Chaine)
{
if (i < 0 || i >= strlen (ch.chaine))
{
throw uneChaine ("RANG INVALIDE") ;
}
ch.chaine [i] = c ;
}
Répondre à Littlenico

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le lundi 13 février 2006 à 18:34:00 Fil de Discussions 
slt
c'est bon tout marche. merci de m'avoir aidé
Répondre à Littlenico

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le samedi 11 février 2006 à 14:17:39 Fil de Discussions
POUR ENTREESORTIE :

partie spécification :

#ifndef _ENTREE_SORTIE_H
#define _ENTREE_SORTIE_H

#include "chaine.h"

//------------------------------------------------------------------------------
// SPECIFICATION DES SOUS-PROGRAMMES DE LECTURE SUR L'ENTREE STANDARD
// CHAQUE LECTURE DOIT ETRE VALIDEE PAR L'APPUI SUR LA TOUCHE <ENTREE>
//------------------------------------------------------------------------------

// attend l'appui sur la touche <ENTREE>
void lire () ;

// lit un booleen v
// si la valeur lue est 1, le booleen v prend la valeur true
// si la valeur lue est 0, le booleen v prend la valeur false
// leve l'exception "LECTURE BOOLEEN INCORRECTE" si la saisie est incorrecte
void lire (bool & v) throw (Chaine) ;

// lit un caractere v
// leve l'exception "LECTURE CARACTERE INCORRECTE" si la saisie est incorrecte
void lire (char & v) throw (Chaine) ;

// lit un entier court v
// leve l'exception "LECTURE ENTIER COURT INCORRECTE" si la saisie est
// incorrecte
void lire (short & v) throw (Chaine) ;

// lit un entier court non signe v
// leve l'exception "LECTURE ENTIER COURT NON SIGNE INCORRECTE" si la saisie
// est incorrecte
void lire (unsigned short & v) throw (Chaine) ;

// lit un entier v
// leve l'exception "LECTURE ENTIER INCORRECTE" si la saisie est incorrecte
void lire (int & v) throw (Chaine) ;

// lit un entier non signe
// leve l'exception "LECTURE ENTIER NON SIGNE INCORRECTE" si la saisie est
// incorrecte
void lire (unsigned int & v) throw (Chaine) ;

// lit un entier long v
// leve l'exception "LECTURE ENTIER LONG INCORRECTE" si la saisie est incorrecte
void lire (long & v) throw (Chaine) ;

// lit un entier long non signe v
// leve l'exception "LECTURE ENTIER LONG NON SIGNE INCORRECTE" si la saisie est
// incorrecte
void lire (unsigned long & v) throw (Chaine) ;

// lit un reel v
// leve l'exception "LECTURE REEL INCORRECTE" si la saisie est incorrecte
void lire (float & v) throw (Chaine) ;

// lit un reel double precision v
// leve l'exception "LECTURE REEL DOUBLE PRECISION INCORRECTE" si la saisie est
// incorrecte
void lire (double & v) throw (Chaine) ;

// lit une chaine ch sur l'entree standard
// leve l'exception "LECTURE CHAINE INCORRECTE" si la saisie est incorrecte
void lire (Chaine & ch) throw (Chaine) ;


//------------------------------------------------------------------------------
// SPECIFICATION DES SOUS-PROGRAMMES D'ECRITURE SUR LA SORTIE STANDARD
// LES IDENTIFICATEURS DE SOUS-PROGRAMMES SE TERMINANT PAR NL POSITIONNENT
// LE CURSEUR AU DEBUT DE LA LIGNE SUIVANTE APRES AVOIR EFFECTUE L'ECRITURE
//------------------------------------------------------------------------------

// positionne le curseur en debut de ligne suivante
void ecrireNL () ;

// ecrit un booleen v
// si v a pour valeur true, la valeur affichee est egale a 1
// si v a pour valeur false, la valeur affichee est egale a 0
void ecrire (const bool v) ;
void ecrireNL (const bool v);

// ecrit un caractere v
void ecrire (const char v) ;
void ecrireNL (const char v) ;

// ecrit un entier court v
void ecrire (const short v) ;
void ecrireNL (const short v) ;

// ecrit un entier court non signe v
void ecrire (const unsigned short v) ;
void ecrireNL (const unsigned short v) ;

// ecrit un entier v
void ecrire (const int v) ;
void ecrireNL (const int v) ;

// ecrit un entier non signe v
void ecrire (const unsigned int v) ;
void ecrireNL (const unsigned int v) ;

// ecrit un entier long v
void ecrire (const long v) ;
void ecrireNL (const long v) ;

// ecrit un entier long non signe v
void ecrire (const unsigned long v) ;
void ecrireNL (const unsigned long v) ;

// ecrit un reel v avec nb chiffres apres le point decimal
void ecrire (const float v, const int nb) ;
void ecrireNL (const float v, const int nb) ;

// ecrit un reel double precision v avec nb chiffres apres le point decimal
void ecrire (const double v, const int nb) ;
void ecrireNL (const double v, const int nb) ;

// ecrit une chaine ch sur la sortie standard
void ecrire (const Chaine ch) ;

// ecrit une chaine ch sur la sortie standard suivie d'un retour a la ligne
void ecrireNL (const Chaine ch) ;


//------------------------------------------------------------------------------
// SPECIFICATION DES SOUS-PROGRAMMES DE GESTION DE L'AFFICHAGE ECRAN
//------------------------------------------------------------------------------

// remet a blanc l'ecran et positionne le curseur en haut a gauche de l'ecran
void effacer() ;

// positionne l'affichage en mode video inverse
void inverser() ;

// positionne l'affichage en mode normal
void normal () ;

// positionne l'affichage en gras
void gras () ;

// emet un beep sonore
void beep () ;

// positionne le curseur en ligne l et colonne c
void allerLC (const int l, const int c) ;

#endif

partie implémentation :

//------------------------------------------------------------------------------
// IMPORTATION DES BIBLIOTHEQUES UTILISEES
//------------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
#include "entreeSortie.h"

using namespace std ;

static bool indic = false ;

//------------------------------------------------------------------------------
// SOUS-PROGRAMMES
//------------------------------------------------------------------------------
void allerLC (const int x, const int y)
{
cout <<"\033[" <<x <<";" <<y <<"H" <<flush ;
}

void effacer ()
{
cout <<"\033[H\033[J" <<flush ;
}

void inverser ()
{
cout <<"\033[7m" <<flush ;
}

void normal ()
{
cout <<"\033[0m" <<flush ;
}

void gras ()
{
cout <<"\033[1m" <<flush ;
}

void beep ()
{
cout <<"\007" <<flush ;
}

void lire ()
{
char c [255+1] ;
cout <<"\ntaper sur ENTREE pour continuer ..." <<endl ;
if (indic)
{
indic = false ;
cin.getline (c, 256, '\n') ;
}
cin.getline (c, 256, '\n') ;
}

void lire (bool & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE BOOLEEN INCORRECTE") ;
}
}

void lire (char & v) throw (Chaine)
{
if (indic)
{
cin >>ws ;
}
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE CARACTERE INCORRECTE") ;
}
}

void lire (short & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER COURT INCORRECTE") ;
}
}

void lire (unsigned short & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER COURT NON SIGNE INCORRECTE") ;
}
}

void lire (int & v) throw (Chaine)
{
cin >>v ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER INCORRECTE") ;
}
indic = true ;
}

void lire (unsigned int & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER NON SIGNE INCORRECTE") ;
}
}

void lire (long & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER LONG INCORRECTE") ;
}
}

void lire (unsigned long & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE ENTIER LONG NON SIGNE INCORRECTE") ;
}
}

void lire (float & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE REEL INCORRECTE") ;
}
}

void lire (double & v) throw (Chaine)
{
cin >>v ;
indic = true ;
if (! cin.good ())
{
throw uneChaine ("LECTURE REEL DOUBLE PRECISION INCORRECTE") ;
}
}

void lire (Chaine & ch) throw (Chaine)
{
if (indic)
{
indic = false ;
cin.getline (ch.chaine, 256, '\n') ;
}
cin.getline (ch.chaine, 256, '\n') ;
if (! cin.good ())
{
throw uneChaine ("LECTURE CHAINE INCORRECTE") ;
}
}

void ecrire (const bool v)
{
cout <<v <<flush ;
}

void ecrireNL (const bool v)
{
cout <<v <<endl ;
}

void ecrire (const char v)
{
cout <<v <<flush ;
}

void ecrireNL (const char v)
{
cout <<v <<endl ;
}

void ecrire (const short v)
{
cout <<v <<flush ;
}

void ecrireNL (const short v)
{
cout <<v <<endl ;
}

void ecrire (const unsigned short v)
{
cout <<v <<flush ;
}

void ecrireNL (const unsigned short v)
{
cout <<v <<endl ;
}

void ecrire (const int v)
{
cout <<v <<flush ;
}

void ecrireNL (const int v)
{
cout <<v <<endl ;
}

void ecrire (const unsigned int v)
{
cout <<v <<flush ;
}

void ecrireNL (const unsigned int v)
{
cout <<v <<endl ;
}

void ecrire (const long v)
{
cout <<v <<flush ;
}

void ecrireNL (const long v)
{
cout <<v <<endl ;
}

void ecrire (const unsigned long v)
{
cout <<v <<flush ;
}

void ecrireNL (const unsigned long v)
{
cout <<v <<endl ;
}

void ecrire (const float v, const int nb)
{
cout.setf (ios::fixed, ios::floatfield) ;
cout <<setprecision (nb) <<v <<flush ;
}

void ecrireNL (const float v, const int nb)
{
cout.setf (ios::fixed, ios::floatfield) ;
cout <<setprecision (nb) <<v <<endl ;
}

void ecrire (const double v, const int nb)
{
cout.setf(ios::fixed, ios::floatfield) ;
cout <<setprecision (nb) ;
cout <<v <<flush;
}

void ecrireNL (const double v, const int nb)
{
cout.setf(ios::fixed, ios::floatfield) ;
cout <<setprecision (nb) ;
cout <<v <<endl ;
}

void ecrireNL ()
{
cout <<endl ;
}

void ecrire (const Chaine ch)
{
cout <<ch.chaine <<flush ;
}

void ecrireNL (const Chaine ch)
{
cout <<ch.chaine <<endl ;
}
Répondre à Littlenico

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par dedale82, le samedi 11 février 2006 à 16:48:18 Fil de Discussions
Salut,
à mon avis, il suffit de rajouter une ligne vide à la fin de ton fichier et ça devrait suffire. Tu essayes de compiler avec Gcc ou DevC++?
A plus
Répondre à dedale82

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Littlenico, le dimanche 12 février 2006 à 11:02:04 Fil de Discussions
slt dedale82.
pour l'instant j'utilise mandriva donc je compile avec la commande g++ -c
Répondre à Littlenico
Discussions pertinentes trouvées dans le forum
17/06 11h38problème compilationProgrammation18/06 12h4112
16/06 19h21pb de compilation code C table hachageProgrammation23/06 12h4069
15/06 23h03compilation du noyau mandriva 2008.1Linux/Unix18/06 23h022
11/06 14h59Logiciel Compilation en CProgrammation15/06 15h1311
06/06 19h26Logiciel de compilation d'imagesInfographie/Photo07/06 21h026
Plus de discussions sur « probleme de compilation » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger Compilation Tux & Astux  1.1Compilation Tux & Astux - La compilation Tux et Astux est une compilation de logiciels libres pour Windows. Elle comprend environ 120 logiciels...Catégorie: Système
Licence: Freeware/gratuit
Télécharger Ant Renamer 2.10.0Ant Renamer - ANT Renamer permet de renommer un grand nombre de fichiers et dossiers en quelques clics. Il ne fait que modifier les noms...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Java Runtime Environment 6 Update 6Java Runtime Environment - Java Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des...Catégorie: Java
Licence: Open Source
Télécharger Nero 8.3.2.1Nero - Nero 8 est un logiciel de gravure payant, présenté ici dans sa version de démonstration. Il s'agit néanmoins d'un logiciel...Catégorie: Gravure
Licence: Demo
Plus de logiciels gratuits sur « probleme de compilation »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide