IAR вопросик

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

Postby lvd » 22 Nov 2012, 09:59

deathsoft wrote:передается, ибо extern char arrr[1000];
либо extern const mymsg[]="хуйня муйня";

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

Postby TS-Labs » 22 Nov 2012, 12:26

DimkaM wrote:Осталось тока выяснить в каком месте туплю.

Так вот, banner - это синтакс еггог. Нет такой сучности, есть тока banner[] либо banner[хзчто].
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby lvd » 22 Nov 2012, 12:50

TS-Labs wrote:Так вот, banner - это синтакс еггог. Нет такой сучности, есть тока banner[] либо banner[хзчто].

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

Postby DimkaM » 22 Nov 2012, 13:19

TS-Labs wrote:banner - это синтакс еггог
херс два. тыж мне сам ф чатике советовал вычислять полную(с нультерминатором) длинну константной строки с помощью sizeof(banner). И оно вычисляется.
lvd wrote:Дану, чо и *banner нету?
Это выдаст первый элемент массива *banner==banner[0]. sizeof(*banner)==1 (размер чара)
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1010
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby lvd » 22 Nov 2012, 13:31

DimkaM wrote:с помощью sizeof(banner).

Чот какой-то ахтунг. Мож strlen(banner)?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7239
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby DimkaM » 22 Nov 2012, 15:47

strlen библиотечная, соответственно "extern const char banner[sizeof(BANNER)]" не прокатит, да и зетник упарится каждый раз длинну выщитывать. Ежли строка не константная, тада да, тока стрлен.
заместо sizeof() компилер константу подставляет.
аналог sizeof на асме
Code: Select all
    ld hl,endbanner-banner ;hl=sizeof(banner)

banner
    db "какаято хуйня",0
endbanner
аналог strlen на асме
Code: Select all
    ld hl,banner
    call strlen ;а там начинается пляска с подсчётом символов до нуля
banner
    db "какаято хуйня",0
endbanner
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1010
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby lvd » 22 Nov 2012, 15:54

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

Postby DimkaM » 22 Nov 2012, 15:57

да мне ваще на длинну пабарабану, она у меня нигде не надо. компилер ругается, что типа не полную инфу предоставили о массиве
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1010
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby lvd » 22 Nov 2012, 16:00

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

Postby DimkaM » 22 Nov 2012, 16:19

lvd wrote:Никаких гемороев вообще.

и получится
Code: Select all
banner
    dw ?0123
?0123
    db "какаято хуйня",0
а ежли мне нада напечатать с четвёртого символа - puts(&banner[3]), то выйдет чтото типа
Code: Select all
    ld de,(banner)
    ld hl,3
    add hl,de
    ex de,hl
    call puts
вместо
Code: Select all
    ld de,banner+3
    call puts
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1010
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 2 guests