IAR вопросик

Programs, sources, embedded, demomaking, whatsoever related to subj :)

Postby TS-Labs » 21 Nov 2012, 17:23

DimkaM wrote:j = sizeof(banner)

Ок. Что такое "banner"?
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby lvd » 21 Nov 2012, 19:26

По факту, имеем очевидный fuckt, что sizeof массива не передаётся через extern, ибо никак.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby deathsoft » 21 Nov 2012, 19:31

передается, ибо extern char arrr[1000];
либо extern const mymsg[]="хуйня муйня";
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby DimkaM » 21 Nov 2012, 19:55

TS-Labs wrote:Ок. Что такое "banner"?

viewtopic.php?p=29341#p29341
deathsoft wrote:передается, ибо extern char arrr[1000];

тогда верный\правильный ход:
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)];

deathsoft wrote:либо extern const mymsg[]="хуйня муйня";

действительно хуйня:
extern const char banner[]=BANNER;
еггог
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby deathsoft » 21 Nov 2012, 20:39

Какбэ:
1.h
Code: Select all
extern const char zz[]="abcdefg";

1.cpp
Code: Select all
#include <stdio.h>
#include "1.h"
int main()
{
   printf("sizeof(zz)=%u, zz='%s'\n",sizeof(zz), zz);
   return 0;
}

результат:
Code: Select all
sizeof(zz)=8, zz='abcdefg'
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 21 Nov 2012, 20:45

Специально для древнего иара:
1.h:
Code: Select all
const char zz[]="abcdefg";
extern const char zz[];


Code: Select all
      3          int main()
      4          {
   \   0000            main:
      5             printf("sizeof(zz)=%u, zz='%s'\n",sizeof(zz), zz);
   \   0000  210000            LD      HL,zz
   \   0003  E5                PUSH    HL
   \   0004  210800            LD      HL,8
   \   0007  E5                PUSH    HL
   \   0008  210000            LD      HL,?0010
   \   000B  E5                PUSH    HL
   \   000C  CD0000            CALL    printf
   \   000F  F1                POP     AF
   \   0010  F1                POP     AF
   \   0011  F1                POP     AF
      6             return 0;
   \   0012  210000            LD      HL,0
      7          }
   \   0015  C9                RET
   \   0000                    RSEG    CSTR
   \   0000            ?0010:
   \   0000  73697A65          DEFB    'sizeof(zz)=%u, zz=''%s'''


Но если линкер без оптимизации, то у тебя будет 100 инстансов этой строки, везде куда инклюд включен.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby TS-Labs » 21 Nov 2012, 22:52

DimkaM wrote:viewtopic.php?p=29341#p29341

Тупишь как обычно?
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby DimkaM » 22 Nov 2012, 05:09

TS-Labs wrote:Ок. Что такое "banner"?
Массив чаров, sizeof(banner) возвращает количество байт которые занимает массив.
Ежли sizeof(banner[0]), то вернётся количество байт которое занимает [0] - элемент. компилю мы указали(extern const char banner[]) что массив чаровый, поэтому ему известно что [0]элемент - это 1 байт(в случае с з80). Но ему не известно сколько всего этих элементов в массиве.
TS-Labs wrote:Тупишь как обычно?
Еслиб не тупил, то не спрашивал. Осталось тока выяснить в каком месте туплю.
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby jdigreze » 22 Nov 2012, 07:10

А случаем не banner[]=banner[0]?
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby jdigreze » 22 Nov 2012, 07:38

Теперь видимо я туплю... :(
Видимо твой вариант через define есть наиболее правильный.
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 11 guests

cron