|
|||||||
|
|
|
![]() |
|
|
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: 12:45.



















