|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2001
Messaggi: 438
|
"warning" compilando simcpu per linux
Salve
avrei la neccessita di compilare simcpu per linux ma mi restituisce diversi messaggi di warning Codice:
gcc -o include include.c Codice:
$ gcc -o assembler assembler.c In file included from assembler.c:25:0: simcpu.h:60:13: warning: 'packed' attribute ignored for field of type 'byte' [-Wattributes] simcpu.h:72:19: warning: 'packed' attribute ignored for field of type 'struct TAG_registers' [-Wattributes] simcpu.h:73:19: warning: 'packed' attribute ignored for field of type 'byte' [-Wattributes] simcpu.h:74:16: warning: 'packed' attribute ignored for field of type 'union TAG_operands' [-Wattributes] simcpu.h:75:13: warning: 'packed' attribute ignored for field of type 'struct TAG_instruction_fields' [-Wattributes] Codice:
$ gcc -o simcpu executor.c user_interface.c In file included from executor.c:23:0: simcpu.h:60:13: warning: 'packed' attribute ignored for field of type 'byte' [-Wattributes] simcpu.h:72:19: warning: 'packed' attribute ignored for field of type 'struct TAG_registers' [-Wattributes] simcpu.h:73:19: warning: 'packed' attribute ignored for field of type 'byte' [-Wattributes] simcpu.h:74:16: warning: 'packed' attribute ignored for field of type 'union TAG_operands' [-Wattributes] simcpu.h:75:13: warning: 'packed' attribute ignored for field of type 'struct TAG_instruction_fields' [-Wattributes] non conoscendo il c ho difficolta a risolvere il problema ![]() grazie per gli eventuali consigli ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Quei warning riguardanti l'attributo packed non dovrebbero dare alcun problema.
L'attributo packed dovrebbe riguardare solo la minimizzazione della memoria occupata: Quote:
In tutti i casi correggerei con questa patch il codice che il compilatore non sembra apprezzare del tutto: Codice:
--- simcpu.h.original 2005-05-18 15:39:34.000000000 +0200 +++ simcpu.h 2012-11-05 01:27:41.379956560 +0100 @@ -57,22 +57,22 @@ typedef unsigned char byte; typedef unsigned char flag; typedef struct TAG_instruction { - byte opcode __attribute__ ((packed)); - struct TAG_instruction_fields + byte opcode; + struct __attribute__ ((packed)) TAG_instruction_fields { unsigned group : 2 __attribute__ ((packed)); unsigned addressing_mode : 2 __attribute__ ((packed)); unsigned instruction_code : 4 __attribute__ ((packed)); - union TAG_operands + union __attribute__ ((packed)) TAG_operands { - struct TAG_registers + struct __attribute__ ((packed)) TAG_registers { unsigned first_register : 4 __attribute__ ((packed)); unsigned second_register : 4 __attribute__ ((packed)); - } registers __attribute__ ((packed)); - byte offset __attribute__ ((packed)); - } operands __attribute__ ((packed)); - } instruction_fields __attribute__ ((packed)); + } registers; + byte offset; + } operands; + } instruction_fields; } instruction; Codice:
patch -d /home/gimli/Scaricati/simcpu/source -p0 < simcpu.h.patch Codice:
gimli@sertan ~/Scaricati/simcpu/source $ gcc -o simcpu executor.c user_interface.c gimli@sertan ~/Scaricati/simcpu/source $ gcc -o assembler assembler.c gimli@sertan ~/Scaricati/simcpu/source $
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2001
Messaggi: 438
|
ciao
penso di aver sbagliato qualcosa... ho copiato il file in /tmp/simcpu/source/simcpu.h.patch Codice:
/tmp/simcpu/source$ ls assembler.c include.c make_include.bat readme.txt simcpu.h.patch executor.c make_assembler.bat make_simcpu.bat simcpu.h user_interface.c Codice:
/tmp/simcpu/source$ patch -d /tmp/simcpu/source -p0 < simcpu.h.patch patching file simcpu.h Hunk #1 FAILED at 57. 1 out of 1 hunk FAILED -- saving rejects to file simcpu.h.rej Codice:
/tmp/simcpu/source$ ls assembler.c include.c make_include.bat readme.txt simcpu.h.orig simcpu.h.rej executor.c make_assembler.bat make_simcpu.bat simcpu.h simcpu.h.patch user_interface.c |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Bah, end of line Windows che si mangiano copiando dal forum.
Codice:
gimli@sertan ~ $ patch -d /home/gimli/Scaricati/simcpu/source -p0 < Scaricati/simcpu/source/simcpu.h.patch_2 patching file simcpu.h Hunk #1 FAILED at 57 (different line endings). 1 out of 1 hunk FAILED -- saving rejects to file simcpu.h.rej
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:58.