Ce que je besoin d'aide: Passing une valeur entière qui est en fichier2.c à file3.c via variable globale en utilisant file1.hComment implémenter une variable globale?
Bonjour, J'ai un problème en utilisant une variable globale pour identifier l'un des les ports que j'utilise sur un projet de texte chiffré. C'est assez gros, donc je viens d'ajouter les extraits de code qui traitent de mon problème.
Ce que je suis actuellement en utilisant pour compiler: gcc -o executable3 fichier2.c file1.h (cela fonctionne)
et ma deuxième ligne (ne fonctionne pas): gcc -o executable3 file3.c
mon message d'erreur lors de la compilation: undefined reference to `variable globale » collect2: ld retourné 1 état de sortie
mon fichier file1.h:
ifndef FILE1_H
define FILE1_H
include <stdio.h>
include <stdlib.h>
extern int *GLOBALVARIABLE;
endif
Mon fichier où j'initialiser la valeur variable globale et mettez-égal au numéro de port (fichier 2):
#include "file1.h"
#define SIZE 128000
int *GLOBALVARIABLE;
int main(int argc, char *argv[])
{
int sockfd, newsockfd, portno;
portno = atoi(argv[1]);
GLOBALVARIABLE = &portno;
fichier qui provoque la compilation conflit indiqué ci-dessus (fichier 3):
#include "file1.h"
#define SIZE 16000
int main(int argc, char *argv[])
{
int sockfd, portno;
portno = atoi(argv[3]);
if (portno == *GLOBALVARIABLE){
printf("Theres been a port error, you are using the wrong port for this
command");
exit(1);
S'il vous plaît aider ! Merci!
Vous avez deux fonctions principales() une dans le fichier 2 et le fichier 3, cela signifie qu'il va créer deux exécutables?N'est-ce pas que vous voulez avoir seulement un exécutable? – LethalProgrammer