varning: inkompatibel implicit deklaration av inbyggd funktion
I de olika funktionerna så har jag markerat raderna med //här är det fel.
jag har fått detta medelande av gcc kompilatorn
gcc -O2 -s lbp660.c -o lbp660
lbp660.c: I funktion "get_bitmap":
lbp660.c:162: varning: inkompatibel implicit deklaration av inbyggd funktion "memset"
lbp660.c: I funktion "errorexit":
lbp660.c:410: varning: inkompatibel implicit deklaration av inbyggd funktion "exit"
lbp660.c: I funktion "main":
lbp660.c:949: varning: inkompatibel implicit deklaration av inbyggd funktion "strcpy"
chmod +s lbp660
gcc -O2 -s lbp460.c -o lbp460
chmod +s lbp460
Detta är dom utklippta funktionerna
*************************
unsigned char
get_bitmap () {
FILE *dbgf;
int i,k,tmp;
if (bmcnt==0) {
memset(bmbuf,0,800); //här är det fel
//if (!feof(bitmapf)) {
if (linecnt<(bmheight-topskip)) {
if (bmwidth > 800) {
fread(bmbuf,1,800,bitmapf);
bitmap_seek(bmwidth-800);
}
else {
fread(bmbuf,1,bmwidth,bitmapf);
}
}
bmptr = bmbuf+leftskip/8;
bmcnt = LINE_SIZE;
linecnt++;
}
bmcnt--;
return *bmptr++;
}
**************************************
void INLINE errorexit() {
#ifdef DEBUG
int* i = 0;
(*i)++;
#endif
unlink(gname);
if (cbmf)
fclose(cbmf);
exit(1); //här är det fel
}
****************************************
int main(int argc, char** argv) {
int c,i;
int reset_flag=1;
int size;
int simulate=0;
int page=0;
int reset_only=0;
int reset=0;
int tfd;
int lbp460=0;
bitmapf = stdin;
while ((c = getopt(argc,argv,"Rrt:l:sf:c")) != -1) {
switch (c) {
case 'R': {
reset_only=1;
reset=1;
break;
}
case 'r': {
reset=1;
break;
}
case 'c': {
lbp460=1;
break;
}
case 't': {
sscanf(optarg,"%d",&topskip);
break;
}
case 'l': {
sscanf(optarg,"%d",&leftskip);
break;
}
case 's': {
simulate++;
break;
}
case 'f': {
bitmapf = fopen( optarg,"r" );
if (!bitmapf) {
fprintf(stderr,"File not found on unreadable\n");
errorexit();
}
}
}
}
if (ioperm(DATA,3,1)) {
fprintf(stderr, "Sorry, you were not able to gain access to the ports\n");
fprintf(stderr, "You must be root to run this program\n");
errorexit();
}
if (lbp460) {
fprintf(stderr, "Running with LBP-460 page resolution (600x300).\n");
lines_by_page = LINES_BY_PAGE460;
}
else {
fprintf(stderr, "Running with LBP-660 page resolution (600x600).\n");
lines_by_page = LINES_BY_PAGE660;
}
//__cli(); /*

if ((reset && !simulate) || (lbp460)) {
reset_printer();
}
if (!reset_only) {
/* probe for already reseted printer */
/*if (!simulate) {
send_cmd(cmd_short_pause);
if (need_reset) {
need_reset=0;
reset_printer();
}
reset_on_timeout=0;
}*/
/* pages printing loop */
struct timeval ltv;
struct timeval ntv;
while (1) {
/* temporary file to store our results */
strcpy(gname,"/tmp/lbp660-XXXXXX"); //här är det fel
if ((tfd=mkstemp(gname))<0) {
fprintf(stderr,"Can't open a temporary file.\n");
errorexit();
}
cbmf = fdopen(tfd,"w+");
if (!compress_bitmap())
break;
if (!simulate) {
if (page != 0) {
gettimeofday(&ntv, NULL);
usleep(PAGE_DELAY - ((ntv.tv_usec - ltv.tv_usec) + ((ntv.tv_sec - ltv.tv_sec)*1000000))); /* delay between pages */
}
if (!print_page( page )) {
fprintf(stderr, "Error, cannot print this page.\n");
reset_printer();
errorexit();
}
gettimeofday(<v, NULL);
}
fclose(cbmf);
next_page(page++);
unlink(gname);
}
}
fclose(bitmapf);
return 0;
}
Ps: försöker att för stå c++ koder, är nybörjare på programering