Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C++] getuid e compagnia

    ciao raga...
    oggi su linux ho provto a compilre un piccolo file che mi stampa a video varie cose:
    codice:
    #include <sys/types.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        uid_t ruserid = getuid();
        gid_t rgroupid = getgid();
        uid_t euserid = geteuid();
        gid_t egroupid = getegid();
        
        printf("L'utente realmente riconosciuto dal processo è: %s", (char) ruserid);
        printf("Il gruppo realmente riconosciuto dal processo è: %s", (char) rgroupid);
        printf("L'utente effettivamente riconosciuto dal processo è: %s", (char) euserid);
        printf("Il gruppo effettivamente riconosciuto dal processo è: %s", (char) egroupid);
        return(0);
    }
    ho fatto il

    gcc file.cpp

    ma il gcc mi dà stì errori:
    root@darkstar:~/Desktop/Projects/C++# gcc UG_ID.cpp
    /tmp/ccaTrxUU.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
    collect2: ld returned 1 exit status
    why???
    PaTeR
    From Ban to Life

  2. #2

    Re: [C++] getuid e compagnia

    Originariamente inviato da PaTeR non PeTeR
    oggi su linux ho provto a compilre un piccolo file che mi stampa a video varie cose:è[...]
    ho fatto il
    gcc file.cpp
    ma il gcc mi dà stì errori:
    why???
    Beh, se e' C++ compilalo con gcc, altrimenti rinominalo .c (strano pero' che dia 'sto errore) e usa gcc: dovresti risolvere in ambo i casi.

    Una cosa: gli *uid sono interi, ti conviene, credo, stamparli come tali
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  3. #3
    mi disp... ma nisba.. stesso errore


    ( ho messo il %u al posto del %s e ho tolto il (char) )
    PaTeR
    From Ban to Life

  4. #4
    Originariamente inviato da PaTeR non PeTeR
    mi disp... ma nisba.. stesso errore


    ( ho messo il %u al posto del %s e ho tolto il (char) )
    help!
    PaTeR
    From Ban to Life

  5. #5
    Originariamente inviato da PaTeR non PeTeR
    mi disp... ma nisba.. stesso errore


    ( ho messo il %u al posto del %s e ho tolto il (char) )
    codice:
    $ cat test1.c
    #include <sys/types.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        uid_t ruserid = getuid();
        gid_t rgroupid = getgid();
        uid_t euserid = geteuid();
        gid_t egroupid = getegid();
    
        printf("L'utente realmente riconosciuto dal processo \uffff\uffff: %s", (char) ruserid);
        printf("Il gruppo realmente riconosciuto dal processo \uffff\uffff: %s", (char) rgroupid);
        printf("L'utente effettivamente riconosciuto dal processo \uffff\uffff: %s", (char) euserid);
        printf("Il gruppo effettivamente riconosciuto dal processo \uffff\uffff: %s", (char) egroupid);
        return(0);
    }
    $ gcc -Wall -o test1 test1.c
    test1.c: In function `main':
    test1.c:13: warning: format argument is not a pointer (arg 2)
    test1.c:14: warning: format argument is not a pointer (arg 2)
    test1.c:15: warning: format argument is not a pointer (arg 2)
    test1.c:16: warning: format argument is not a pointer (arg 2)
    $ cp test1.c test1.cpp
    $ g++ -Wall -o test1_p test1.cpp
    test1.cpp: In function `int main()':
    test1.cpp:13: warning: format argument is not a pointer (arg 2)
    test1.cpp:14: warning: format argument is not a pointer (arg 2)
    test1.cpp:15: warning: format argument is not a pointer (arg 2)
    test1.cpp:16: warning: format argument is not a pointer (arg 2)
    $ ls test*
    test1  test1.c  test1.cpp  test1_p
    $ ./test1
    Segmentation fault
    $ ./test1_p
    Segmentation fault
    E mettendo

    codice:
    $ grep printf test1.c
        printf("L'utente realmente riconosciuto dal processo: %i\n", ruserid);
        printf("Il gruppo realmente riconosciuto dal processo: %i\n",  rgroupid);
        printf("L'utente effettivamente riconosciuto dal processo: %i\n", euserid);
        printf("Il gruppo effettivamente riconosciuto dal processo: %i\n", egroupid);
    $ gcc -Wall -o test1-2 test1.c
    $ ./test1-2
    L'utente realmente riconosciuto dal processo: 1010
    Il gruppo realmente riconosciuto dal processo: 1010
    L'utente effettivamente riconosciuto dal processo: 1010
    Il gruppo effettivamente riconosciuto dal processo: 1010
    Che presumo sia quanto desideravi
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  6. #6


    mi spieghi un pò cosa hai fatto?
    Grazie, dopo lo provo il linuzz...
    PaTeR
    From Ban to Life

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.