Bonjour,
Il est fréquent que des variables (de tous types) soient initialisées
par la lecture d'un fichier INI par exemple, voire un calcul ou
l'appel d'une fonction en début de programme.
Il peut arriver que ces "constantes" soient modifiables
"exceptionnellement" par un utilisateur identifié (on peut alors se
ramener au précédent, par clôture/initialisation).
Il me semble normal de conserver le statut const à ces variables. Pour
l'instant, j'utilise quelques cast, et ça roule.
J'aimerais connaître la stratégie des uns et des autres face à ce
petit problème.
--
Merci,
J'aimerais connaître la stratégie des uns et des autres face à ce petit problème.
faire une recopie ?
-- DINH V. Hoa,
"Ma tuxitude me beastifie" -- sunZ
Antoine Leca
En , Pierre Maurette va escriure:
Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le module de modification (avec le flicage, empreintes, PGP certificats 509 et tout et tout, enfin, on demande le mot de passe, quoi, en général avec Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on veut, en multi utilisateurs concurrents.
OEQLC?
Antoine
En 366d80d80fkk5f4urst80u6t4qdee29q8g@4ax.com, Pierre Maurette va escriure:
Il est fréquent que des variables (de tous types) soient initialisées
par la lecture d'un fichier INI par exemple, voire un calcul ou
l'appel d'une fonction en début de programme.
Il peut arriver que ces "constantes" soient modifiables
"exceptionnellement" par un utilisateur identifié (on peut alors se
ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le
module de modification (avec le flicage, empreintes, PGP certificats 509 et
tout et tout, enfin, on demande le mot de passe, quoi, en général avec
Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute
l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a
fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les
données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on
veut, en multi utilisateurs concurrents.
Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le module de modification (avec le flicage, empreintes, PGP certificats 509 et tout et tout, enfin, on demande le mot de passe, quoi, en général avec Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on veut, en multi utilisateurs concurrents.
OEQLC?
Antoine
Emmanuel Delahaye
In 'fr.comp.lang.c', Pierre Maurette wrote:
Bonjour, Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation). Il me semble normal de conserver le statut const à ces variables. Pour l'instant, j'utilise quelques cast, et ça roule.
J'aimerais connaître la stratégie des uns et des autres face à ce petit problème. -- Merci,
Pierre
#ifndef H_DATA #define H_DATA
/* data.h */
/* structures */
typedef struct { int value; } data_s;
/* entry points */
int data_init (void); int data_config (int value, char const *mdp); data_s const *data_read_access (void);
#endif /* guard */
/* data.c */ #include "data.h"
#include <stdio.h> #include <string.h>
/* private data */ static data_s *G_p_data;
/* entry points */ int data_init(void) { int err = 0;
-- -ed- [remove YOURBRA before answering me] The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
In 'fr.comp.lang.c', Pierre Maurette <maurette.pierre@free.fr> wrote:
Bonjour,
Il est fréquent que des variables (de tous types) soient initialisées
par la lecture d'un fichier INI par exemple, voire un calcul ou
l'appel d'une fonction en début de programme.
Il peut arriver que ces "constantes" soient modifiables
"exceptionnellement" par un utilisateur identifié (on peut alors se
ramener au précédent, par clôture/initialisation).
Il me semble normal de conserver le statut const à ces variables. Pour
l'instant, j'utilise quelques cast, et ça roule.
J'aimerais connaître la stratégie des uns et des autres face à ce
petit problème.
--
Merci,
Pierre
#ifndef H_DATA
#define H_DATA
/* data.h */
/* structures */
typedef struct
{
int value;
}
data_s;
/* entry points */
int data_init (void);
int data_config (int value, char const *mdp);
data_s const *data_read_access (void);
#endif /* guard */
/* data.c */
#include "data.h"
#include <stdio.h>
#include <string.h>
/* private data */
static data_s *G_p_data;
/* entry points */
int data_init(void)
{
int err = 0;
Bonjour, Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation). Il me semble normal de conserver le statut const à ces variables. Pour l'instant, j'utilise quelques cast, et ça roule.
J'aimerais connaître la stratégie des uns et des autres face à ce petit problème. -- Merci,
Pierre
#ifndef H_DATA #define H_DATA
/* data.h */
/* structures */
typedef struct { int value; } data_s;
/* entry points */
int data_init (void); int data_config (int value, char const *mdp); data_s const *data_read_access (void);
#endif /* guard */
/* data.c */ #include "data.h"
#include <stdio.h> #include <string.h>
/* private data */ static data_s *G_p_data;
/* entry points */ int data_init(void) { int err = 0;
PPreferences Preferences(int Commande) { static TPreferences TP; FILE * fPref = NULL; if(Commande == PREF_INI) { /* bla bla */ } return & TP; } -- Merci, Pierre
Pierre Maurette
"Antoine Leca" typa:
En , Pierre Maurette va escriure:
Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le module de modification (avec le flicage, empreintes, PGP certificats 509 et tout et tout, enfin, on demande le mot de passe, quoi, en général avec Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on veut, en multi utilisateurs concurrents.
OEQLC? Ça veut dire "Où est la question sur le langage C ?" ?
En fait, j'avais mal posé ma question. Le problème des utilisateurs identifié n'est que marginal et ne me concerne pas. Ce qui me chagrinait, c'était le cats des const. -- Pierre
"Antoine Leca" <root@localhost.gov> typa:
En 366d80d80fkk5f4urst80u6t4qdee29q8g@4ax.com, Pierre Maurette va escriure:
Il est fréquent que des variables (de tous types) soient initialisées
par la lecture d'un fichier INI par exemple, voire un calcul ou
l'appel d'une fonction en début de programme.
Il peut arriver que ces "constantes" soient modifiables
"exceptionnellement" par un utilisateur identifié (on peut alors se
ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le
module de modification (avec le flicage, empreintes, PGP certificats 509 et
tout et tout, enfin, on demande le mot de passe, quoi, en général avec
Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute
l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a
fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les
données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on
veut, en multi utilisateurs concurrents.
OEQLC?
Ça veut dire "Où est la question sur le langage C ?" ?
En fait, j'avais mal posé ma question. Le problème des utilisateurs
identifié n'est que marginal et ne me concerne pas.
Ce qui me chagrinait, c'était le cats des const.
--
Pierre
Il est fréquent que des variables (de tous types) soient initialisées par la lecture d'un fichier INI par exemple, voire un calcul ou l'appel d'une fonction en début de programme. Il peut arriver que ces "constantes" soient modifiables "exceptionnellement" par un utilisateur identifié (on peut alors se ramener au précédent, par clôture/initialisation).
C'est comme cela que je fais: on clôt la session en cours, on va dans le module de modification (avec le flicage, empreintes, PGP certificats 509 et tout et tout, enfin, on demande le mot de passe, quoi, en général avec Entrée ça passe ;-)), les constantes sont modifiées, et on relance toute l'appli.
Si un utilisateur se plaint que c'est trop lourd, je renvoie sur celui qui a fait les specs fonctionnelles, car pour moi il y a un bogue fonctionnel: les données "statiques" ne le sont pas en fait.
Évidemment, cela pose des problèmes de mises-à-jour ou de révision, comme on veut, en multi utilisateurs concurrents.
OEQLC? Ça veut dire "Où est la question sur le langage C ?" ?
En fait, j'avais mal posé ma question. Le problème des utilisateurs identifié n'est que marginal et ne me concerne pas. Ce qui me chagrinait, c'était le cats des const. -- Pierre