c – initialisatie maakt integer van pointer zonder cast en nog 2 compilerfouten

dus ik krijg deze waarschuwing:

initialization makes integer from pointer without a cast

in het volgende stukje code:

void receive(u_char *args, const struct pcap_pkthdr *pkthdr, const u_char *buffer)
{
const int one = 1;
int LEN = args;      /* THIS IS THE LINE */
struct ipheader *ip;
struct tcpheader *tcp;

en om eerlijk te zijn, ik weet niet zo goed wat ik moet doen, aangezien bijna alle zoekopdrachten makes pointer from integer.

Ik krijg ook deze compilerberichten:

/tmp/cci6u7NH.o: In function `main':
ChannelBunny.c:(.text+0x448): undefined reference to `pthread_create'
ChannelBunny.c:(.text+0x4b7): undefined reference to `pthread_join'
/tmp/cci6u7NH.o: In function `receive':
ChannelBunny.c:(.text+0xcb6): undefined reference to `nthol'
ChannelBunny.c:(.text+0xcdf): undefined reference to `nthol'
collect2: ld returned 1 exit status

verlost van een soortgelijk pcap-probleem door -l pcapte gebruiken, maar dat werkte niet voor de andere twee. Het is net terug:

gcc: pthread: No such file or directory
gcc: nthol: No such file or director

Ik vermoed dat ik iets moet downloaden? of is er een ander commando dat ik moet gebruiken. (Ik gebruik Backtrack5 als je daar iets aan hebt).


Antwoord 1, autoriteit 100%

Dat zou je moeten doen

int LEN = *args;

args is een aanwijzer, * args is de waarde die erdoor wordt gewezen. Ook moet je geen U_Char in een int.

Voor nthol: http: //MSDN.MICROSOFT.com/EN-US/Library/windows/desktop/ms740069(v=vs.85).aspx


Antwoord 2, Autoriteit 43%

U kunt atoi()–functie gebruiken om Char * naar Int.

te converteren

Over de koppelingsfout over Pthread, probeer -lpthreadop uw Compile-opdracht


Antwoord 3

U passeert een wijzer

u_char *args

U probeert het toe te wijzen aan een geheel getal

int LEN = args;

Het foutbericht zegt dit.

“maakt integer uit de aanwijzer”

De echte vraag is wat denk je dat args is? Gewoon van het kijken, ik denk dat het enkele argumenten bevat, niet de lengte van sommige argumenten?

Other episodes