problem z odpalaniem programu

0

Witam, mam pytanie jaką flagą mam odpalić ten program używaj gcc , bo program podczas np. takie odpalanie gcc nowa.c -o nowa -lrt sypie błędami.

Poniżej kod:

#include <stdlib.h>
#include <stdio.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    int n, i, suma = 0, char ch;
    int* wektor = NULL;
    File* Fd;
    Fd = fopen("suma.txt", "w+");
    printf("Podaj ilosc elementow: ");
    scanf("%d", &n);
    if (n <= 0) {
        printf("Liczba elementow nieprawidlowa\n");
        return -1;
    }
    wektor = (int*)malloc(n * sizeof(int));
    if (wektor == NULL) {
        printf("Pamiec nie zostala zaalokowana.\n");
        exit(0);
    }
    pid_t pid = fork();
    if (pid > 0) {
        wait(0);
        printf("\nPowrot do procesu macierzystego\n");
        Fd = fopen("suma.txt", "r");

        while ((ch = fgetc(Fd)) != EOF)
            printf("%c", ch);
        fclose(Fd);
    }

    if (pid == 0) {
        printf("Podaj elementy wektora.\n");
        for (int i = 0; i < n; ++i) {
            printf("Podaj wartosc elementu [%d]: ", i + 1);
            scanf("%d", wektor + i);
            suma += *(wektor + i);
        }
        fprintf(Fd, "\nSuma wynosi: %d\n", suma);
        free(wektor);
        fclose(Fd);
        exit(0);
    }
}

0

Nie przypominam sobie flagi takiej jak lrt.
Po drugie mimo wszystko fajnie, jakbyś wrzucił błędy, które rzuca kompilator.

edit: Sprawdziłem tutaj i takiej flagi rzeczywiście znaleźć nie mogę. Nie wiem jednak, czy to nadmiarowa (i nieznana) flaga jest błędem. Czy to nie jest przypadkiem tak, że kompilator taką flagę po prostu zignoruje?

Wrzuć proszę te błędy kompilacji tutaj...


edit2: Widzę już niektóre z błędów:
1. Nie możesz deklarować zmiennych różnego typu w tej samej linijce oddzielając przecinkami: int n, i, suma = 0, char ch;
2. Plik należy tworzyć typem FILE, a nie File: File* Fd;

1 użytkowników online, w tym zalogowanych: 0, gości: 1