lvd wrote:const char * banner="траляля";
LD HL,?0030
PUSH HL
LD HL,?0029
PUSH HL
LD HL,banner
PUSH HL
LD A,(ftp)
LD C,A
PUSH BC
CALL fsprintf
POP AF
POP AF
POP AF
POP AF
; 137. fsprintf(ftp.control, banner, HOSTNAME, VERSION);
LD HL,?0030
PUSH HL
LD HL,?0029
PUSH HL
LD HL,(banner)
PUSH HL
LD A,(ftp)
LD C,A
PUSH BC
CALL fsprintf
POP AF
POP AF
POP AF
POP AF
; 137. fsprintf(ftp.control, banner, HOSTNAME, VERSION);
ftpd.h
#define BANNER "220 %s FTP version %s ready.\r\n"
ftpd.c
const char banner[] = BANNER;
main.c
extern const char banner[sizeof(BANNER)];
DimkaM wrote:немогу сообразить как объявить правильно, оно не критично, но глаз режет при компиляции
const char banner[] = "220 %s FTP version %s ready.\r\n";
void test();
int main(void)
{
while(1)
{
test();
}
}
extern const char banner[];
void test()
{
int i, j;
for (i=0; banner[i]; i++)
j += banner[i];
}
IAR Z80/64180 C-Compiler V4.06A/W32
Copyright 2001 IAR Systems. All rights reserved.
Errors: none
Warnings: none
Code size: 5
Constant size: 31
Static variable size: Data(0) Iram(0)
IAR Z80/64180 C-Compiler V4.06A/W32
Copyright 2001 IAR Systems. All rights reserved.
Errors: none
Warnings: none
Code size: 32
Constant size: 0
Static variable size: Data(0) Iram(0)
IAR Universal Linker V5.4.1.30
Copyright 1987-2012 IAR Systems AB.
134 bytes of CODE memory (+ 3 absolute )
128 bytes of DATA memory
Errors: none
Warnings: none
\ 0000 NAME test(16)
\ 0000 RSEG CODE(0)
\ 0000 EXTERN banner
\ 0000 PUBLIC test
\ 0000 EXTERN ?CLZ80L_4_06_L00
\ 0000 RSEG CODE
1 extern const char banner[];
2
3 void test()
\ 0000 test:
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
4 {
5 int i, j;
\ 0004 110000 LD DE,0
\ 0007 ?0001:
\ 0007 210000 LD HL,banner
\ 000A 19 ADD HL,DE
\ 000B 7E LD A,(HL)
\ 000C B7 OR A
\ 000D 280C JR Z,?0000
\ 000F ?0002:
6 for (i=0; banner[i]; i++)
\ 000F 210000 LD HL,banner
\ 0012 19 ADD HL,DE
\ 0013 4E LD C,(HL)
\ 0014 0600 LD B,0
\ 0016 DD09 ADD IX,BC
\ 0018 13 INC DE
7 j += banner[i];
\ 0019 18EC JR ?0001
\ 001B ?0000:
\ 001B DDE1 POP IX
\ 001D D1 POP DE
\ 001E C1 POP BC
\ 001F C9 RET
8 }
\ 0020 END
lvd wrote:А теперь сделай sizeof(banner[])
j = sizeof(banner[]);
--------------------------^
"test.c",6 Error[98]: Primary expression expected
Errors: 1
6 j = sizeof(banner[0]);
\ 0004 DD210100 LD IX,1
DimkaM wrote:у тя походу варнинги вырублены
Users browsing this forum: Google [Bot] and 46 guests