Page 1 of 15

IAR вопросик

PostPosted: 10 Sep 2012, 05:39
by DimkaM
то Десофт, про иар

static char ip[4]={192,168,0,88};
эта фигня требует инициализации перед стартом проги, типа скопировать из CDATA в IDATA. а то тама ничё не будет(или мусор будет).
Не будет потомучто я покоцал нахер весь cstartup.

я щас делаю:
const char __ip[4]={192,168,0,88};
#define ip ((char*) __ip)

оно работает но...
Как сделать грамотно? Шоп оно уже лежало где надо и было R/W.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 06:00
by lvd
DimkaM wrote:Как сделать грамотно? Шоп оно уже лежало где надо и было R/W.

DimkaM wrote:Не будет потомучто я покоцал нахер весь cstartup.

Ответ содержится в вопросе, не?

Re: IAR вопросик

PostPosted: 10 Sep 2012, 06:45
by DimkaM
lvd wrote:Ответ содержится в вопросе, не?

И тада статик будет два раза память жрать

Re: IAR вопросик

PostPosted: 10 Sep 2012, 10:35
by lvd
DimkaM wrote:И тада статик будет два раза память жрать

А ты лучше запили пейджинг. Чтоб и дата и код свопились по пагам, тогда можно будет забить.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 10:36
by lvd
DimkaM wrote:static char ip[4]={192,168,0,88};

Вот ещё кстати интересно, чар в ыаре сигнед или унсигнед. Потому что в одном случае из двух говнокод.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 13:34
by DimkaM
lvd wrote:чар в ыаре сигнед или унсигнед
тама галочка есть в свойствах проекта.
У мну галочка чар==унсигнедчар. Т.к. если не унсигнед, то варнинги на стринги ругаются, если стд-либы юзать.

Но в любом случае, я всегда пишу сигнед или унсигнед, шобы небуло пиздежу, делаю всё по чертежу. А несоблюдение стандартов карается законом.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 21:08
by fk0
Литературу ниасилил? Чем как дурак галочки тыкать хоть бы почитал как устроен C runtime. Есть bss секция, неё засунута секция для инициализации секции данных. Проблема в том, что у тебя компилятор уродский. Там ни линкер файл правильно не формирует, ни c startup нифига не делает. Я имею ввиду, для загрузки в ОЗУ. В embedded-то понятно, прямо из ПЗУ пускают. В секции bss ничего не сжирает, потому, что она потом снизу под heap, а сверху под стек отдаётся.

char не предназначен для хранения чисел. Не ебите нахуй мозги. man stdint.h.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 21:33
by lvd
fk0 wrote:char не предназначен для хранения чисел.

Пруф или пиздунг.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 21:51
by deathsoft
lvd wrote:Пруф или пиздунг.

Чар по стандарту может быт ькакой угодно, хоть сигнед хоть унсигнед, более того вообще может быть не 1 байт, на tms320vc5502 чар 16бит, там вообще вся память 16 битная.

Re: IAR вопросик

PostPosted: 10 Sep 2012, 22:09
by lvd
deathsoft wrote:Чар по стандарту может быт ькакой угодно, хоть сигнед хоть унсигнед, более того вообще может быть не 1 байт, на tms320vc5502 чар 16бит, там вообще вся память 16 битная.

Это пруф, что в чаре нельзя хранить числа?