The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > High Level Programming
.
google unix.com



High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Awk CSV till TXT format, TXT filen inte på ett korrekt kolumn format mdap Shell-programmering och Skript 1 08-14-2008 11:03
För att konvertera flera format filen till en läsbar ASCII-format gaur.deepti UNIX for Dummies Frågor & Svar 5 03-25-2008 03:03
Konvertera UTF8 format filen till ANSI-format rajreddy UNIX for Dummies Frågor & Svar 9 05-25-2007 08:26
Konvertera UTF8 format filen till ANSI-format rajreddy UNIX för avancerade & Expertanvändare 1 05-24-2007 06:40
omvandla MMDDÅÅ datumformat till ccyyddd format? Bhups Shell-programmering och Skript 2 09-27-2006 11:30

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-29-2009
konvalo konvalo is offline
Registered User
  
 

Join Date: Jan 2002
Inlägg: 20
Question varning: int format, pid_t arg (arg 2)

Jag försöker följande kod under Solaris10, såsom följer:

Kod:
int glob = 6;
int main(void)
{
  int var;
  pid_t pid;
  var = 88;
  printf("before vfork\n");
  if ((pid = vfork()) < 0) {
    err_sys("vfork error");
  } else if (pid == 0) { 
      glob++;
     var++;
     _exit(0);
  }
  printf("pid = %d, glob = %d, var = %d\n", getpid(), glob, var);
  exit(0);
}
När jag sammanställa det, det väcker följande varning
$ gcc-Wall abc.c error.obj
abc.c: I funktionen "viktigaste":
abc.c: 16: varning: int format, pid_t arg (arg 2)
ld: warning: symbol "Glob" har olika typer:
(filen / var / tmp / / ccIMPxLe.o type \u003d OBJT; filen / usr / lib / libc.so type \u003d FUNC);
/ var / tmp / / ccIMPxLe.o definition tar
ld: warning: symbol "Glob" har olika typer:
(filen / var / tmp / / ccIMPxLe.o type \u003d OBJT; filen / usr / lib / libc.so type \u003d FUNC);

Varför ta upp ovan varning? Hur kan man rätta till det?

Tack på förhand
  #2 (permalänk)  
Old 06-29-2009
mgessner mgessner is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 50
Eftersom pid's skiljer sig kraftigt åt mellan olika system, det enda du verkligen kan göra (förutom att ändra printf () och lägga till en ny klass av objekt) är att kasta intelligent:

Kod:
printf ("pid = %lu\n", (unsigned long) getpid());
Det är ett rimligt antagande att en PID är en unsigned integer typ.

HTH. YMMV.
Reply

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:16.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0