Отговори на тема  [ 62 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща
Фрагменти от С-то.... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Незнам - аз няма навика да изследвам стандартите дали са сбъркани или не - просто ги следвам :D . Предлагам ти да се оплачиш/пишеш до хора, като този от следния линк:
http://www2.research.att.com/~bs/
Обясни и им на тях колко сбъркани са им творенията :D .


Пон Юни 20, 2011 11:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Dimitar написа:
Незнам - аз няма навика да изследвам стандартите дали са сбъркани или не - просто ги следвам :D . Предлагам ти да се оплачиш/пишеш до хора, като този от следния линк:
http://www2.research.att.com/~bs/
Обясни и им на тях колко сбъркани са им творенията :D .


Оооо, не, не. Нямам намерение да се оплаквам на никой или пък да го светвам. Просто, когато зависи от мен, не ползвам С... :)


Пон Юни 20, 2011 11:06 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
relsys написа:
Оооо, не, не. Нямам намерение да се оплаквам на никой или пък да го светвам. Просто, когато зависи от мен, не ползвам С... :)

Искаш да кажеш, че си знаел за подобни "недомислици" още преди да допреш до писане на С???
И въпреки това 2 часа си се чесал по тиквата докато разбереш това което вече си знаел???
И накрая за капак вместо да напсуваш лично тоя дето те е нагърбил да пишеш проект на С, вместо на удобния Паскал, пишеш тук във форума за да изпуснеш тънко парата...??? Е, без коментар братле.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Юни 21, 2011 12:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Това програмистите сте много сбъркани, от мен да го знаете :) Ебати темата, ебати дискусията :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Юни 21, 2011 7:57 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Zdrav написа:
relsys написа:
Оооо, не, не. Нямам намерение да се оплаквам на никой или пък да го светвам. Просто, когато зависи от мен, не ползвам С... :)

Искаш да кажеш, че си знаел за подобни "недомислици" още преди да допреш до писане на С???
И въпреки това 2 часа си се чесал по тиквата докато разбереш това което вече си знаел???
И накрая за капак вместо да напсуваш лично тоя дето те е нагърбил да пишеш проект на С, вместо на удобния Паскал, пишеш тук във форума за да изпуснеш тънко парата...??? Е, без коментар братле.


Естествено, че съм знаел. И аз поназнайвам туй-онуй за Си-то. Естествено, че и чесането беше 2 минути, не 2 часа. Та целта е.... тъй като още не сте разбрали... : Как да сведем до минимум непредизвиканите грешки?

@Цецо:
Ми сбъркани сме я, аз си го знам... особено сега като не ми дават и поялник да пипам... :lol: :lol: :lol:


Вто Юни 21, 2011 10:03 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
relsys написа:
Та целта е.... тъй като още не сте разбрали... : Как да сведем до минимум непредизвиканите грешки?

Абе знаех си аз, че участваме в някакъв твой експеримент с благородна цел, като нищо неподозиращи опитни свинчета. Ама не си познал. Ние се борим не за свеждане на бъговете до минимум, а за довеждането им до четен брой. ;)

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Юни 21, 2011 10:29 am
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Нед Сеп 17, 2006 12:00 pm
Мнения: 450
Местоположение: Plovdiv
Мнение 
Цитат:
Как да сведем до минимум непредизвиканите грешки?


:lol: :lol: :lol: Как го измисли това, колегата ще почне да се чуди какво толкова се смея...

Онова с константите отляво си е баш по стандарт, някъде съм го срещал в ръководствата по стил на програмния код.


Вто Юни 21, 2011 12:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
MidNighT_SpiRiT написа:

Онова с константите отляво си е баш по стандарт, някъде съм го срещал в ръководствата по стил на програмния код.


Сигурно е било в ръководствата за лош стил ;-)

С и С++ са алгоритмични езици и позицията на елементите в израза *има* доста голямо значение. Дори и най-върлите оптимизации не си позволяват да променят неща, които биха променили алгоритъма.
Знам, че в случая става дума за константа, но принципът си е принцип. Ами ако вместо с константа трябва да сравниш резултата от функция с променлива? Никога не забравяйте, че:

Код:
if(a == foo())
и
Код:
if(foo() == а)


са два различни изриза и могат да дадат различен резултат, защото в единия случай се взема стойността на "а" преди, в е другия случай стойността след викане на функцията.

Колкото до ползването на "=" вместо "==" и обратно си има "л"-орнингс и за двата случая. Поне читавите компилатори дават такива ;-)


Вто Юни 21, 2011 12:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 9:39 pm
Мнения: 2277
Мнение 
miro_atc написа:
С и С++ са алгоритмични езици и позицията на елементите в израза *има* доста голямо значение. Дори и най-върлите оптимизации не си позволяват да променят неща, които биха променили алгоритъма.
Знам, че в случая става дума за константа, но принципът си е принцип. Ами ако вместо с константа трябва да сравниш резултата от функция с променлива? Никога не забравяйте, че:

Код:
if(a == foo())
и
Код:
if(foo() == а)


са два различни изриза и могат да дадат различен резултат, защото в единия случай се взема стойността на "а" преди, в е другия случай стойността след викане на функцията.

Колкото до ползването на "=" вместо "==" и обратно си има "л"-орнингс и за двата случая. Поне читавите компилатори дават такива ;-)


Като се замисли човек резултатът от сравнението ще е един и същ и двата случая, освен ако foo не променя а 8O.


Вто Юни 21, 2011 1:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
Или ако междувременно някой асинхронно в прекъсване не е променил a. Тогава ще се сравнява със стара стойност на а.
Но все пак идеше реч за сравняване с константа. А там промени в стойността не се предвиждат.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Юни 21, 2011 2:26 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Цитат:
С и С++ са алгоритмични езици и позицията на елементите в израза *има* доста голямо значение. Дори и най-върлите оптимизации не си позволяват да променят неща, които биха променили алгоритъма.


Ако правилно си спомням, в следния код:

Код:
void ASCII_To_DWord(dword* output, byte* input, byte length)
{
  dword multiplyer;

  multiplyer = 1;
  *output = 0;
  while (length)
    {
      length--;
      *output = *output + ((input[length] - ASCII_MASK) * multiplyer);
      multiplyer = multiplyer * 10;
    }
}


ако OUTPUT не е указател, оптимизатора си беше решил, че трябва винаги да връща '0' в него. А защо?!?


Вто Юни 21, 2011 2:29 pm
Профил ICQ WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Фев 17, 2006 9:17 am
Мнения: 765
Местоположение: Стара Загора
Мнение 
Ползваш го като указател, какво значи "когато не е указател" ? Надали компилатора може да ти чете мислите за да знае какво си имал предвид :D Ако паскала може - чудесно


Вто Юни 21, 2011 2:37 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
relsys написа:
Цитат:
С и С++ са алгоритмични езици и позицията на елементите в израза *има* доста голямо значение. Дори и най-върлите оптимизации не си позволяват да променят неща, които биха променили алгоритъма.


Ако правилно си спомням, в следния код:

Код:
void ASCII_To_DWord(dword* output, byte* input, byte length)
{
  dword multiplyer;

  multiplyer = 1;
  *output = 0;
  while (length)
    {
      length--;
      *output = *output + ((input[length] - ASCII_MASK) * multiplyer);
      multiplyer = multiplyer * 10;
    }
}


ако OUTPUT не е указател, оптимизатора си беше решил, че трябва винаги да връща '0' в него. А защо?!?


и ... това не можеш да го разбереш !?
ако не е указател - е локална променлива достатъпна само в процедурата - резултата и (на output) никъде не се използва - и кода за изчислението и (output =...) е безсмислен !


Вто Юни 21, 2011 2:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
Ми много просто. Щото output ти е параметър подаван на функция. Ако не е указател или референс резултата който си получавал е логичен. И... пак ли опираме до сбъркан стандарт или...

_________________
Най-опасният враг на истината и свободата е мнозинството.


Вто Юни 21, 2011 2:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
relsys дори от този пример си личи че изобщо не си наясно с C-то. То не че на някой не му е станало ясно досега какво ти е нивото в тази област де. Ама дано ти стане ясно на теб че с C-то си доникъде. Това дето питаш е от най елементарните неща. Ясно с C-то си на съвсем посредствено ниво.
Ако обичаш свий си перките и не ръси акъл повсеместно. Доста дразнещ си станал напоследък с нещастните си напъни.


Вто Юни 21, 2011 2:48 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 62 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни